вторник, 11 мая 2010 г.

SA update version 6.1.2.4: function of dynamic mapping of constellations in the selected channel

SA Update to version v 6.1.2.4/5
The current update is mainly concerned to OFDM module.

Some old control elements and indications are updated/moved: it is selected by the red frame.


Appearance of FFT spectrum is changed. Channels are separated by colour on both even and odd. The width of spectral lines is also increases with a graphic rescaling. It allows to select the necessary channel more comfortably. The former solution demanding absolutely exact hit in a line with the width in one pixel wasn't comfortable.


Perhaps the most important part of update - is an introduction of function of dynamic mapping of constellations in the selected channel, with the common clock/symbolical synchronisation.

In this mode, the programm carries out OFDM demodulation. At least, on the signals where relative phase manipulation is used, relative constellations can be observed practically irrespective of external factors, such as signal offset by frequency, record digitization etc.

An indication of an output of points of constellation behind the boundaries of mapping window is inserted. That speaks about necessity to reduce scale, as a constellation part, or the whole constellation is not displayed fully.

Basically, an order of standard operations in this module is the following:

- fragment of OFDM signal is selected in the working window.
- OFDM module is called/started.
- If it is necessary search of boundaries of a correlative triangle and customisation of other settings are installed. In most of cases, you may leave default settings.
- Start of search of a correlative triangle is realized by the button "Find CT"
- After a finding convincing Correlation Trianlge (CT), the signal's position should be adjusted by frequency. The triangle should be positive, and have maximum amplitude. It is controlled by the value of Am field in a window of mapping of triangle.
- After any frequency correction, recalculation is started again by the button "Find CT", as the signal is already another. Repeated calculations in this version are passing very fast, all subresults received earlier, are simply ignored.
- The yellow marker is located on the left ("good") side of a triangle.
- The necessary/convenient scale of FFT spectrum is installed, the necessary/needed channel is selected.
- phase planes are switched on by double-clique on the necessary record, in the window of output of the text data.
- The mode of dynamic mapping is started by button "Show".

It is the basic, generall scheme of operations.

Here is the Videoclip where on an example of signal MIL-STD-188-110A 16 Channels all described actions are shown.

The more detailed description of operation with the module as usually, will appear in the near future in the form of separate article.

Good luck~

воскресенье, 25 апреля 2010 г.

APCO-25, is qualitative decoding possible from discriminator's output?

APCO-25, is qualitative decoding possible from discriminator's output?

Author: SergUA6

Appearance of DSD program, which provides decoding of standard APCO-25, has called on ours (and not only) forum active enough discussion. The program processes an audiostream from an output of the discriminator of any FM receiver, and solves demodulation and decoding tasks in real time.

Discussion on our forum is concerned the problem: is it possible to provide qualitative demodulation and decoding of standard APCO-25 from discriminator's output?

We will try to answer this question.

Thanks to high activity of participants of our forum, there is enough of records of standard APCO-25 in I/Q format, IF and the ones which are direct from the discriminator. The quantity of these records is sufficient to be able to give an answer on this question with more or less deep arguments and convincingly.

Modulation C4FM, which is used in APCO-25 standard, is very closely linked with modulation pi/4DQPSK, it allows to demodulate a signal as pi/4 DQPSK.

Example: http://www.radioscanner.ru/info/files/article412/ap_25_1.wav

But in this case, the signal's processing is realized on zero IF and the signal demands representation in the form of I/Q, or, similar results can be received on intermediate frequency (IF).

At the same time, modulation C4FM represents itself four-level FSK, and it can be demodulated as usual FSK (MFSK) modulation with usage of the standard discriminator. It saves compatibility with old analogue standards.

We do not know, how demodulation in concrete models of radio stations APCO-25 is realized, but at least we can estimate, what is possible to take into account with using only discriminator's output.

So now we need:
1) records of APCO-25 signals
2) SA
3) the small program for mapping(displaying) of levels of a signal from the discriminator
4) desire and time.

The small program is written specially for this article. This program imitates the simple demodulator, displaying levels from discriminator's output, with necessary clock frequency.

On the very qualitative signal, after all necessary conversions/procedures in SA, we receive the following results:

An output from the discriminator after the phase detector.


Result of demodulation.

On the upper image the part, which corresponds to exact clock synchronization is selected - it is that what is possible to receive on this signal. Complete synchronization is shown in the lower image.

It is obvious, that errors at demodulation are not avoidable. Although, in general, the result of demodulation is sufficient, but not for the signal of such quality, which is selected for the example.

Of course, considering powerful noise-resistant coding, which is used in standard APCO-25, decoding most likely will be realized qualitatively enough. However, it is obvious, that reception of a bit stream from discriminator's output without any processing is extremely undesirable.

Simple, preliminary, more or less optimal filtering, sharply raises chances for faultless demodulation.

Almost an ideal picture. At well organized clock synchronizations, the signal will be demodulated qualitatively. In the small program-simulator, which results are shown, clock synchronization is very simple.

Under standard APC0-25, after the discriminator, RRC filter is necessary with parameter alpha = 0.2.
However, it is possible to use any optimal filtration instead RRC filter.

It may seem, that the answer is gotten: it is possible to receive qualitative bit stream and qualitative decoding from discriminator's output. But the answer will be not complete if not to consider other aspects and problems which are surely exist.

The matter is that the signal, which we has been taken for an example, is too good, and does not mirror all problems of demodulation.

Here is another signal http://www.radioscanner.ru/info/files/article412/ap_25_2.wav , such meet very often.

After all conversions and optimal filterings, the result is about the such.:

Surely, there will be demodulation errors, but it is possible to minimize or avoid them, having provided:
1) signal's parameters tracking in demodulator ;
2) correction of levels of decision-making.

Because, hard logic, which perfectly works on qualitative signals, will not work in this case.

We can meet such signals very often, with the bigger or smaller distortions. An origin of these distortions is not known to me, but I assume that it can be result of operation of various repeaters, probably not serviceable or not certificated ones, and/or features of signal's transfer. Signals of such quality, naturally have worst parameters of a noise stability and reliability.

The discriminator's output can be certainly used for decoding APCO-25, but qualitative implementation, is not easy task as it can seem at first sight, this task demands the serious approach.

As we have received some letters, concerning the question of conversion of bit stream APCO-25 received in SA from the phase demodulator, I result the map of conversions to bits. Signal APCO-25 demodulated in SA, in relative mode, same as it is represented in the first image in this article. In this case correspondence of the real dibits and positions of angles is the followin:

0 - 10
1 - 00
2 - 01
3 - 11

Do not forget that signal's inversion is possible, then the values will be:

0 - 00
1 - 10
2 - 11
3 - 01

It is possible to define inversion indirectly by series zero bits, which always are present in APCO-25 bit stream, not less than 15-20 bits in a row. In not inverted signal, in the stream from SA demodulator, it corresponds to series 1, in inverted to series 0. The length of these series is not less than 7-10 characters/symbols (15-20 bits).

That is it.

Good luck~

© MSM Group

среда, 21 апреля 2010 г.

PSK: SATCOM Satellite, Telemetry, UHF

SATCOM Satellite, Telemetry, UHF
PSK-2, Br-1200, 15 Channels of data + 1 Synchro


Author: SergUA6
Band Width ~2000-2100 Hz
Low Range ~1452 Hz, only for this record!
Baud Rate General 1200 Hz
n-Ary (PSK/MPSK) 2
Carrier frequency ~2523 Hz, only for this record!
RX mode SSB

Sonograms
pic.1 General view

pic.2 Manipulation speed

Diagrams
pic.3 Phase constellation

Pictures:
pic.4 The bit stream structure in VMW


SATCOM Satellite, Telemetry - Telemetry of sattelites of SATCOM series. The signal has standard parametres. Transmission of 16 channels is organised transparently enough . The structure is well visible on pic.4

Data of all channels is transferred continuously-consistently by ring (circle), without cunnings. That is why, it is enough to build up the bit stream in 16bit "column" after demodulation, to find 0th sinchronization channel on characteristic sequence, and it becomes possible to receive a bit stream of any channel with a binding to its(channel) number. Transmission speed in the channel is 75 Hz.

As it is visible from pic.4, in the signal, in channeles 2, 9, 11-15 only bit=1 are transffered, in other channeles the data is transferred.

The bit stream in channels assumes further processing. Crypto security is not eliminated, and most likely it presents.

понедельник, 5 апреля 2010 г.

SA Update to version v 6.1.2.1


SA Update to version v 6.1.2.1


The problem with mp3 files is corrected. We had messages that sometimes the program opens all mp3 files incorrectly, but we hadn't the detailed description of this situation. Two days ago we have received the deatailed description from one of users, the step-by-step picture of occurrence of the problem.

As it has appeared, after loading wav file, attempts to open any mp3 file cause an error.




Ofcourse, detailed description of a problem, sharply increases chances to find and correct an error fast. That's what we always try to do as fast as possible.



Also the number of minor errors is corrected.

Good luck!

четверг, 25 марта 2010 г.

SA Update: version 6.1.2.0

SA Update version 6.1.2.0


About one or two half months ago, at studying of possibilities of WaveLet conversion, an idea of essential lowering of the common noise level on records has appeared, and recenlty we got an ability to realise this idea in the form of working algorithm.

Conditionally we have named it HRes (HighResolution). Here is comparative screenshots.





Ofcourse, this is relative increasing of resolution quality, but the task of decreasing of the common noise level and selection of spectral lines is rather effectively solved. We see perspective enough application of this algorithm at processing of speech waveforms, signals FSK/MFSK and in automation parameters definition.

We cannot recommend to use this function always, because high detailing of spectra, frequently discourages by an abundance of details more likely, than really helps. But the given method is irreplaceable at the tasks of search of lines of clock frequencies and/or studying of harmonics of a signal, purely these are part of the primary goals of this algorithm and one of the reasons of its development.

The algorithm demands enought resourses, it is recommended to disable HRes at navigation on file , though it is not always notable, but sometimes it can become slow enought. For the same reason, by default this function is switched off.

Good luck!


вторник, 23 марта 2010 г.

Record, record, and record once again.

Record, record and record once again.

Files attached to the article:


Let's talk about the records. About those problems and nuances with which we are regularly facing, about those possibilities which SA posesses in the last versions.

Own SA loader has appeared by some reasons. One of the reasons - is widely spread I/Q format, and with other, strangely enough, rather poor quality of records in this format became one of the reasons of its working out, on the one hand.

Poor quality of records in general is a global problem, we considered it here earlier, so there is no sense to repeat, I wish to mention some questions which are not so obvious.

Several I/Q records from recourse http://www.iw3aut.altervista.org/files/samples/index.php


At loading of these files in SA (look attached files), you will be surprised by extremely low level of the records.



Althought, the records apparently, should show all power and possibilities of SDR technology. Unfortunately the result is absolutely opposite. It is impossible to consider neither samples, nor examples of qualitative work.

Level of the record is so low, that at attempts to increase it, there is rather rough granularity and the resulting signal has worse quality than 8 bit record. I would like to remind that 8 bit records are considered by default as unsuitable for tasks of the signal analysis. Such recordS are more suitable for speech digitalization in narrow enought bar.


Dynamic range of such "signals" is extremely low. Spectrally such records look very plainly and lifelessly, I name them as "dead" records, the background noise level, which caused by rough digitization on level, is very high. Such records represent the extremely doubtful material for tasks of signals identification and analysis, in spite of the fact that it I/Q format should provide the highest quality.

This problem is very characteristic for SDR receivers, we have faced it about 4 years ago, however attempts to pay attention to the very bad quality of material for the analysis and identification, hadn't found special understanding, at least the stream of an illiquid material has not decreased at all.

It is curious enough to observe the bad quality of records today, while quality of SDR receivers is constantly grows, digit capacity ADC raises, and the problem is still exists and not going to disappear..

It is may to seem that the heart the problem is insufficient amplification in paths of processing of signal of SDR receivers. In DSP all is co-ordinated in a single whole unit, nothing is taken from anywhere, and nothing disappears into anywhere. If the main ADC has digit capacity in 16 bits then these 16 bits will be allocated on whole length of digitization bar, and if this bar, for example is 40 Mhz, then it is necessary ~600-620 Hz for one position. It means, that if after such ADC you try to select bar in 10 Khz from 40 Mhz, then there is never be high-grade 16 bits, and will be only approximately 20-40 (position)/levels.

It is rough enough example but it reflexts reality. Althought it is only of one possible problems which is linked with digit capacity ADC, which are used in modern SDR receivers.

This problem can be masked easily enought by various filters, switching to higher digit capacity or to arithmetics with a floating point after ADC, but it does not change a real state of affairs, and forces developers to solve uneasy questions.

There are lot of powerfull SDR recievers with powerfull ADC represented today, they are providing a signal's output in 24 or 32 bit format. It would Seem in such situation, that quality of records should be good by default, however it is far not always so.

Dynamic range of 16 bit records is approximately 96 Db, 24 bit is nearby 145 db, 32 bit is about 193 db. If to consider real-life formats which are widely used for records,then for 32 bit numbers floating-point dynamic range will be 700 db, and for 64 bit 7000-8000 db. These are fantastic values of a dynamic range, to display which in a reality on a spectrum is almost not possible, you simply will not see a difference between 650 and 680 db, otherwise the spectrum will remind small cutted chaotic colour salad, which will be hardly possible to understand. qualitative mapping of a complete dynamic range is a certain problem already on 16 bits, and to play back 140-145 db for 24 bit records, very and very uneasy.
Smoothly we approach to the problem. The big dynamic range though guarantees good quality, but does not guarantee automatic solution of all problems, an ability to use all potential power of equipment remains for the person, however not all understand that, and worst of all, most of people do not wish to understand these things that is a little surprising in general.

Typical, even classical example. There is the record 24 bit, that should provide a dynamic range in 140-145 dB.


It is well visible that random impulse interference, completely brings to nothing all advantages of 24 bit formats, as in this record on the main signal we have only about 5000-7000 (!) level/positions, from approximately 16700000 possible. The most part of the dynamic range is spent on exellent representation of the random, single powerful impulse., to the prejudice of other data. And considering that in this record the common bar is 96 Khz and the signal demanding the analysis occupies 3 KHz, then the chances to receive a picture which we got earlier are very great.


This problem is getting worse, because in various cases for the various reasons, 16 bit records are especcialy demanded, and in this case direct conversion makes a bad turn. Usually sound editors are used for these purposes. The file is loaded as 24 or 32 bit and saved as 16. At such approach, the record before saving is scaled, and any program fairly tries to spend this scaling with efforts to provide maximum identity with the original.
In this case, even if the original provides sufficient quality for the analysis, for instance in the previous example on if to give 100000-300000 positions/level on the main signal, and on an impulse 12000000-16000000 positions, then after scaling there will be 65000bits(positions) on an impulse, and nearby 1200-1500 on the main signal. That is, as a result we see maximum detailing of random noise, and rough detailing of nessecary content.


SA preview mode of waveform in the loader, gives possibility to scale a signal before loading, that for the last example guarantees effective allocation of all dynamic range on the main signal, by simple cutting off of everything that exceeds a threshold, as a rule it can be various artefacts or powerful impulse interferences.

This SA possibility is entered for 24 and 32 bit records formats, including the format with a floating point, as 8 and 16 bit data are usually already brought to the necessary scale in advance, and if level of such records(24 and 32 bit) is very small initially, then scaling and amplification will not change situation to the best.

16 bits in overwhelming majority of cases is more than the sufficient value of digitization on level. If to follow a simple rule, then the signal should use as much as possible completely all dynamic range. Complete maximum does not mean from a maximum to a minimum, quite reasonable value is 70 %-80 % of a complete range, the small store always needs to be left, it concerns not only to 16 bit records, but any other format.

Usually the problems with 16 bit digitizations appear, when bars in 10-100 Mhz are inserted in record , in hope after to cut the necessary segments in tens Khz. It is an error. As to SA, SA iscertainly universal analyzer, and allows to make a lot with record, but it is not off-linereceiver, and to assign to it these functions at least is not recommended. SA will perfectly work out with 50 Mhz and above if the signal has bar at ~ 10-20 Mhz, but we cannot guarantee anything if someone intends to cut and analyze signals at 5-10 or 100 Hhz from 50 Mhz. All that should be done at the stage of reception of a signal, that is in RX. Basically, this is is one of the primary goals of the receiver, which for some reason frequently mistakenly supposed to be done by analyzers.

Actually these problems are not such big secret. The huge percent of complete not liquid records walks in the net from one site to another, I with some surprise detected "new" resources where represented "examples" of the various signals, and these "samples" we saw 5-6 years ago, on complenetly another resources.

Good luck!

четверг, 11 марта 2010 г.

SA update to version v 6.1.1.7

SA update to version v 6.1.1.7


At prepearing description of signal ROSMODEM two problems were detected.
The first one is - a maximum fragment of a signal, on which the histogram is constructing, is too short for qualitative visualisation.

The second is - the method of construction of the histogram is not enought successful.

The maximum size of a fragment is limited by the value 30-50 kilobyte, these are echoes of the very old not optimised solutions in SA, current SA implementation allows to lift easily enough this boundary to 1-2Mb values, but unfortunly this moment was missed. In this version this error is corrected.

The second problem can't be solved 100 % ideally, but nevertheless, rationing of the whole histogram, allows to receive much more clear better picture of allocation of frequencies and levels, as all lines are visible always completely.


The difference in images is obvious enough and does not demand any remarks.

Actually this is not planned express update. We have in our plans automatic or half-automatic detection both frequency spacing, and freqeuncy quantities, but searches of universal reliable solution can take it's not short time.

Good Luck~