Hello Votjeck and all,

TKS for all the information.

>I do not think that phase delay equalization is needed for MFSK modes.
A simple frequency amplitude equalization is what I meant. I think
OK I understand now. Yes I thought of a phase delay equalization. In Olivia, 
there must be a sort of frequency "equalization" in the Olivia bandwidth: you 
calculate the average for each considered frequency, then from this field of 
averages you "equalize" so as to have the same weight for each frequency. This 
is almost compulsory. If not done the decoding is not very good in case of QRM.

>I am not sure I understand this statement. Pawel's code runs FFT two
>times faster than the symbol speed and with double spaced bins than....
Yes I saw this and I thought it was a good idea so I applied this principle to 
the RS ID.

But for Olivia and modes in general, if your baud rate is not a sub-multiple of 
the sampling frequency you cannot apply a FFT. So the easiest is to do a bank 
of matched filters. 
Note: FFT is also a bank of matched filters but in a configuration which 
permits to calculate them rapidly.

>Do You mean You actually do the AFC exactly and You synchronize the
>symbols as in the case of MFSK16?
The symbol synchronisation is done as in MFSK16 but the "AFC" is done as it 
must be done with a very sharp correlation function (Olivia and clones + RS 
ID), i.e you sweep the frequency and see what band match the best.
In MFSK16, there is no such very sharp correlation function, so the AFC is done 
in a more classical way.

> The issue with FFT computed by fixed point arithmetics is that it is far less 
> exact than the >matched FIR filters. Although it is good enough for 
> waterfall, it may not be good
>enough for the decoder. 
I calculate all in "Longint" (-2E9 to 2E9). It's sufficient. 

>I expect the same will hold for any MFSK code like MFSK16 or Throb.
Yes normally this principle could be used to MFSK modes but only if you are 
sure to have an equal probability of presence between all possible carriers, 
which is not sure in MFSK16.

Note: if you know how to decode Contestia, you could add the other Olivia 
clones as Pax, Pax2 and Voice (mode for blind Hams). All the information is in 
my help. 
In PAX and PAX2, you could send Unproto messages as APRS positions, for 
example. 

73
Patrick





  ----- Original Message ----- 
  From: Vojtech Bubnik 
  To: digitalradio@yahoogroups.com 
  Sent: Tuesday, January 09, 2007 9:33 AM
  Subject: [digitalradio] Re: Channel Equalization, was: best mode to use for 
weak signal


  Hi Patrick.

  Thanks for the info. I hope it was useful to the othes too. That's the
  reason I discuss it on the list.

  Pawel's input processor does basically the following.

  - Splits input stream to chunks that half overlap
  - Applies a window to the chunks.
  - Computes FFT
  - Averages each FFT bin energy
  - Equalizes the bins by the averaged bin energies.
  - Converts back to time by IFFT
  - Applies a window to the time signal and overlaps the equalized time
  chunks
  - Now the time stream is expected to be amplitude limited and
  amplitude peaks will be cut by a clipper. I think this last step shall
  resemble burst removal

  > In HF there would be no interest as the channel transfer function
  moves all times and too quickly. 

  I believe it.

  > Moreover it will need some impulse in input so to determine the
  transfer function with output and input, which is not expected.

  I do not think that phase delay equalization is needed for MFSK modes.
  A simple frequency amplitude equalization is what I meant. I think
  that it may make sense to "callibrate" FFT decoder by a white noise
  ran through the RX. That would equalize against the RX filters. But I
  expect that most of the HAMs woud never use it.

  > Note: Pawel code uses FFT, Multipsk (and surely Mixw) use a bank of
  matched filters so as not to be obliged to handle only one frequency.

  I am not sure I understand this statement. Pawel's code runs FFT two
  times faster than the symbol speed and with double spaced bins than
  frequency spacing of Olivia symbols. That generates 4 symbol streams.
  The FFT window is matched against the Olivia symbol envelope. The
  issue is that the symbol time and frequency will be 1/4 symbol
  frequency and 1/4 symbol time off in worst case. On the other side it
  will synchronize to the other side very fast.

  Do You mean You actually do the AFC exactly and You synchronize the
  symbols as in the case of MFSK16?

  My code uses the Pawel's method. The issue with FFT computed by fixed
  point arithmetics is that it is far less exact than the matched FIR
  filters. Although it is good enough for waterfall, it may not be good
  enough for the decoder. I had to rewrite the SFFT filters of gMFSK's
  MFSK16 to simple FIR filter bank because of numerical problems on
  fixed point ALU.

  I tried to generate Olivia to the speakers by MultiPsk and receive it
  with PocketDigi by the internal mic. If I whissle somewhere in the
  middle of the olivia stream spectrum, the decoding is totally
  disrupted. I will try the same test with gMFSK yet, which uses Pawel's
  code with channel equalization and I expect that the channel
  equalization may remove the constant carrier and push the data
  through. I expect the same will hold for any MFSK code like MFSK16 or
  Throb.

  > >running on my 200MHz StrongArm PocketPC with channel equalization

  Sorry, I meant without channel equalization.

  73, Vojtech OK1IAK



   

Reply via email to