Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-15 Thread Steve
Like a frequency hopper (FHSS) you want it to hit all the tones, and
not send CW.

I haven't examined the codec 2 vocoder bits when no audio is input.
I'm assuming it cycles through all four tones.

I can see where telemetry data would need a scrambler though.
On Fri, Jun 15, 2018 at 12:38 AM Mark Jessop  wrote:
>
> The current version of the Horus Binary modem using both a scrambler and an 
> interleaver.
>
> Without the scrambler you can end up with long runs of zeros depending on the 
> payload contents. Maybe it doesn't affect the modem, but it sure doesn't 
> sound right!
>
> 73
> Mark VK5QI
>
> On Fri, Jun 15, 2018 at 10:03 AM, David Rowe  wrote:
>>
>> We've used this FSK modem quite a lot for balloon telemetry and have 
>> wondered from time to time if we need scrambler.  So far we have never found 
>> "the smoking gun" which would be the timing estimator falling over.
>>
>> Having said that I think we may have included a scrambler in one version of 
>> the telemetry.
>>
>> A related problem is burst operation ... how to get timing sync just as a 
>> signal starts.
>>
>> - David
>>
>>
>> On 14/06/18 23:02, Steve wrote:
>>>
>>> On Thu, Jun 14, 2018 at 12:14 AM David Rowe  wrote:


 Just want to point out that, last time I tested them, the 4FSK waveforms
 work just fine - unmodified and without a scrambler.
>>>
>>>
>>> It was just a what-if that was suggested as an experiment. I'm over it now.
>>>
>>> --
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> ___
>>> Freetel-codec2 mailing list
>>> Freetel-codec2@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>>
>>
>> --
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> ___
>> Freetel-codec2 mailing list
>> Freetel-codec2@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! 
> http://sdm.link/slashdot___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-14 Thread Mark Jessop
The current version of the Horus Binary modem using both a scrambler and an
interleaver.

Without the scrambler you can end up with long runs of zeros depending on
the payload contents. Maybe it doesn't affect the modem, but it sure
doesn't sound right!

73
Mark VK5QI

On Fri, Jun 15, 2018 at 10:03 AM, David Rowe  wrote:

> We've used this FSK modem quite a lot for balloon telemetry and have
> wondered from time to time if we need scrambler.  So far we have never
> found "the smoking gun" which would be the timing estimator falling over.
>
> Having said that I think we may have included a scrambler in one version
> of the telemetry.
>
> A related problem is burst operation ... how to get timing sync just as a
> signal starts.
>
> - David
>
>
> On 14/06/18 23:02, Steve wrote:
>
>> On Thu, Jun 14, 2018 at 12:14 AM David Rowe  wrote:
>>
>>>
>>> Just want to point out that, last time I tested them, the 4FSK waveforms
>>> work just fine - unmodified and without a scrambler.
>>>
>>
>> It was just a what-if that was suggested as an experiment. I'm over it
>> now.
>>
>> 
>> --
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> ___
>> Freetel-codec2 mailing list
>> Freetel-codec2@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>
>>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-14 Thread David Rowe
We've used this FSK modem quite a lot for balloon telemetry and have 
wondered from time to time if we need scrambler.  So far we have never 
found "the smoking gun" which would be the timing estimator falling over.


Having said that I think we may have included a scrambler in one version 
of the telemetry.


A related problem is burst operation ... how to get timing sync just as 
a signal starts.


- David

On 14/06/18 23:02, Steve wrote:

On Thu, Jun 14, 2018 at 12:14 AM David Rowe  wrote:


Just want to point out that, last time I tested them, the 4FSK waveforms
work just fine - unmodified and without a scrambler.


It was just a what-if that was suggested as an experiment. I'm over it now.

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2



--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-14 Thread Steve
On Thu, Jun 14, 2018 at 12:14 AM David Rowe  wrote:
>
> Just want to point out that, last time I tested them, the 4FSK waveforms
> work just fine - unmodified and without a scrambler.

It was just a what-if that was suggested as an experiment. I'm over it now.

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-14 Thread Richard Shaw
On Thu, Jun 14, 2018 at 12:14 AM David Rowe  wrote:

> This suggests a porting issue to me.  Steve - happy to work with you on
> a series of unit tests to take us from x86 FreeDV API cmd line test
> programs to working code on the stm32.  It is possible there is some
> corner case that we are missing, if so some careful unit tests will show
> that up.
>

I haven't had a reason to use it yet, but CMake has CTest so if we can
formalize some unit tests I can incorporate them in the build environment,
e.g.:

$ make test

Thanks,
Richard
KF5OIM
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread David Rowe

Hi,

Just want to point out that, last time I tested them, the 4FSK waveforms 
(FreeDV 2400A, and 800XA) work just fine - unmodified and without a 
scrambler.


800XA is being used by people over the air - in fact I'm working with 
some UK Hams on exciting high power experiments using simple and compact 
Class E amplifiers.  There is a lot of link margin possible compared to 
OFDM waveforms through linear PAs.


Now 800XA is a FreeDV GUI mode that anyone can run . pls feel free 
to try it.


Two years ago Brady ran 2400A (using a 4FSK modem) on the SM2000 
prototypes which use the stm32 - Glen IIRC you were in the Gipstech 
audience :-)


So what we have is:

  i) Code that works on the x86 platform
  ii) Code that doesn't on the stm32

This suggests a porting issue to me.  Steve - happy to work with you on 
a series of unit tests to take us from x86 FreeDV API cmd line test 
programs to working code on the stm32.  It is possible there is some 
corner case that we are missing, if so some careful unit tests will show 
that up.


Cheers,

David

On 14/06/18 13:20, Steve wrote:
Yes. You can't see it on the FreeDV spectrum display, as that display is 
filtered and averaging. But I'm sure an oscillator or two disappears.


This particular scrambler resets itself every frame. It has a starting 
bit pattern. So every modem frame starts-off with the same value, and is 
only 64 bits long (two codec frames). So errors may only be 80 ms in 
length, before the next modem frame.


The additive scrambler for HORUS was taken out of wikipedia

1+x^{{-14}}+x^{{-15}}


On Wed, Jun 13, 2018 at 10:37 PM glen english > wrote:



The downside of most scramblers (I dont know what is used here) is that
you can get error propagtion in a scrambler.



--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot



___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2



--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread glen english
The simplist explanation for this is that if there was only one tone 
present (out of the four) , IE in the extreme case, the input to the 
modulator was stuck on one symbol value, there demodulator would not 
know what tone that was with respect to any of the others, not be able 
to derive any relative frequency error, and not be able to track the 
symbol clock.


The downside of most scramblers (I dont know what is used here) is that 
you can get error propagtion in a scrambler.


One bit in error will often produce multiple bit errors until the de 
scrambling shift register is cleaned out.


To reduce this problem, many modems that seek to prevent long runs on a 
particular value will force a few transitions every frame or so, this is 
built into the scheme, so there is no error propagation, but it does 
cost some overhead.


There are a few other techniques but they are the basics

Glen




On 14/06/2018 1:20 PM, Steve wrote:

I played around a bit with the bit scrambler, first to make sure it
was a two-way function, and then by running the sm1000 scrambled
result into FreeDV on my x86.

Without the scrambler, after I was done talking, the frequency error
would waver around +/- and then slide off almost -600 Hz. The SNR
would then drop down and become un-synced. Then when I started talking
again it would correct itself, and the SNR would go back to max and
sync.

With the scrambler on however, the frequency error toggled around +/-
7.5 Hz off. The SNR never dropped down.

FYI

Steve

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2





--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread Steve
Yes. You can't see it on the FreeDV spectrum display, as that display is
filtered and averaging. But I'm sure an oscillator or two disappears.

This particular scrambler resets itself every frame. It has a starting bit
pattern. So every modem frame starts-off with the same value, and is only
64 bits long (two codec frames). So errors may only be 80 ms in length,
before the next modem frame.

The additive scrambler for HORUS was taken out of wikipedia

[image: 1+x^{{-14}}+x^{{-15}}]


On Wed, Jun 13, 2018 at 10:37 PM glen english  wrote:

>
> The downside of most scramblers (I dont know what is used here) is that
> you can get error propagtion in a scrambler.
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread glen english
The simplist explanation for this is that if there was only one tone 
present (out of the four) , IE in the extreme case, the input to the 
modulator was stuck on one symbol value, there demodulator would not 
know what tone that was with respect to any of the others, not be able 
to derive any relative frequency error, and not be able to track the 
symbol clock.


The downside of most scramblers (I dont know what is used here) is that 
you can get error propagtion in a scrambler.


One bit in error will often produce multiple bit errors until the de 
scrambling shift register is cleaned out.


To reduce this problem, many modems that seek to prevent long runs on a 
particular value will force a few transitions every frame or so, this is 
built into the scheme, so there is no error propagation, but it does 
cost some overhead.


There are a few other techniques but they are the basics

Glen




On 14/06/2018 1:20 PM, Steve wrote:

I played around a bit with the bit scrambler, first to make sure it
was a two-way function, and then by running the sm1000 scrambled
result into FreeDV on my x86.

Without the scrambler, after I was done talking, the frequency error
would waver around +/- and then slide off almost -600 Hz. The SNR
would then drop down and become un-synced. Then when I started talking
again it would correct itself, and the SNR would go back to max and
sync.

With the scrambler on however, the frequency error toggled around +/-
7.5 Hz off. The SNR never dropped down.

FYI

Steve

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2





--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread Steve
I never gave much thought to the raw vocoder bits, so it was an
interesting development.

On Wed, Jun 13, 2018 at 10:27 PM Bruce Perens  wrote:
>
> Probably anything that avoids long streams one symbol is going to help here.

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread Bruce Perens
Probably anything that avoids long streams one symbol is going to help here.

On Wed, Jun 13, 2018 at 8:20 PM, Steve  wrote:

> I played around a bit with the bit scrambler, first to make sure it
> was a two-way function, and then by running the sm1000 scrambled
> result into FreeDV on my x86.
>
> Without the scrambler, after I was done talking, the frequency error
> would waver around +/- and then slide off almost -600 Hz. The SNR
> would then drop down and become un-synced. Then when I started talking
> again it would correct itself, and the SNR would go back to max and
> sync.
>
> With the scrambler on however, the frequency error toggled around +/-
> 7.5 Hz off. The SNR never dropped down.
>
> FYI
>
> Steve
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>



-- 
Bruce Perens K6BP - CEO, Legal Engineering
Standards committee chair, license review committee member, co-founder,
Open Source Initiative
President, Open Research Institute; Board Member, Fashion Freedom
Initiative.
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread Steve
I played around a bit with the bit scrambler, first to make sure it
was a two-way function, and then by running the sm1000 scrambled
result into FreeDV on my x86.

Without the scrambler, after I was done talking, the frequency error
would waver around +/- and then slide off almost -600 Hz. The SNR
would then drop down and become un-synced. Then when I started talking
again it would correct itself, and the SNR would go back to max and
sync.

With the scrambler on however, the frequency error toggled around +/-
7.5 Hz off. The SNR never dropped down.

FYI

Steve

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread Steve
I used a bit version of the horus byte scrambler, and got this:

[image: 4fsk-scrambled.png]
​
/**
 *  In-Place 15 bit additive scrambler with 0x4a80 Frame Sync
 *
 *  Sync1   0   0   1   0   1   0   1   0   0   0   0   0   0   0
 *+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
 *| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11| 12| 13| 14| 15|
 *+-+-+---+---+---+---+---+---+---+---+---+---+---+---+-+-+-+-+
 *  ^   |   |
 *  |   v   v
 *  | +---+
 *  +<|   +   |
 *  | +---+
 *  v
 *+---+
 * in --->| + |---> out
 *+---+
 *
 * inout  - input and output data as bits
 *
 * Returns void.
 */

void scramble(uint8_t inout[]) {
int i, ibit;

uint16_t scrambler = 0x4A80; /* initialize scrambler every frame */
uint16_t scrambler_out;

/* in place modification of each bit */

for (i = 0; i < BITS_PER_FRAME; i++) {
scrambler_out = ((scrambler & 0x2) >> 1) ^ (scrambler & 0x1);

ibit = inout[i] & 0x1;
inout[i] = ibit ^ scrambler_out;

/* update scrambler */

scrambler >>= 1;
scrambler  |= (scrambler_out << 14);
}
}

Have fun!

On Wed, Jun 13, 2018 at 4:02 PM Adrian Musceac  wrote:

>
> Hi Steve,
> You could try scrambling the output of the vocoder.
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread Steve
Thanks Adrian,

It wouldn't be compatible, but I am interested in that idea. I'm going
to whip one up and see what it does.

Thanks

On Wed, Jun 13, 2018 at 4:02 PM Adrian Musceac  wrote:
>
> Hi Steve,
> You could try scrambling the output of the vocoder. I use a scrambler
> block from GNU radio which is described quite well here:
> http://destevez.net/2016/05/scramblers-and-their-implementation-in-gnuradio/
> Of course you would need to write it yourself and add it at the vocoder 
> output.
>
> Regards,
> Adrian

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread Adrian Musceac
>
> By the way those views are via the freedv spectrum display.
>
> What I was thinking was the random numbers are of course hitting all
> the tones equally, whereas the vocoder bits are not as pure, and may
> in fact favor bit combinations over another. Maybe a sequence of the
> same bit patterns.
>

Hi Steve,
You could try scrambling the output of the vocoder. I use a scrambler
block from GNU radio which is described quite well here:
http://destevez.net/2016/05/scramblers-and-their-implementation-in-gnuradio/
Of course you would need to write it yourself and add it at the vocoder output.

Regards,
Adrian

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread Steve
Thanks David,

I wasn't too concerned, except playing into Freedv the modem seems to
lose sync, and the SNR drops away.

I'm also not getting a very loud decoded voice, and if I raise the
SM1000 gain pot it becomes distorted. I might need to test
more on the x86 as you suggest.

Thanks!

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread glen english

the spectrum looks as I would expect.

are your random numbers uniformly distributed ?

I dont know how the spectrum display is generated in the freeDV IE if it 
is just taking slabs of samples with some arbritrary FFT boundary, or it 
is aligned to the symbol clocks etc. or how many grabs are used to 
generate the display, or if they are time averaged, and if they are 
voltage or power averaged or log averaged etc etc


looks fine to me- the OUT OF BAND is still clean.

that's what you need to look for for this case, rubbish more than a 
couple of tone steps away from the end tones.


Run it through SPECTRAN or SPECTRUM LAB. see how it looks

there are various averaging/ analysis options

glen






On 14/06/2018 6:44 AM, Steve wrote:

Thanks Glen,

By the way those views are via the freedv spectrum display.

What I was thinking was the random numbers are of course hitting all
the tones equally, whereas the vocoder bits are not as pure, and may
in fact favor bit combinations over another. Maybe a sequence of the
same bit patterns.

I'm wondering if I need to create a transmit filter before the D/A. It
being a lot less sophisticated than a sound card.

Steve

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2





--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread Steve
Thanks Glen,

By the way those views are via the freedv spectrum display.

What I was thinking was the random numbers are of course hitting all
the tones equally, whereas the vocoder bits are not as pure, and may
in fact favor bit combinations over another. Maybe a sequence of the
same bit patterns.

I'm wondering if I need to create a transmit filter before the D/A. It
being a lot less sophisticated than a sound card.

Steve

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread David Rowe

Hi Steve,

I wouldn't be too concerned, spectrums move in mysterious ways.

Couple of ideas:

1/ Try the same test on an x86

2/ Measure the BER of the transmitted signal with calibrated noise, 
that's the ultimate test of any modem.


Cheers,

David

On 14/06/18 05:57, Steve wrote:
In modulating the 4FSK using a random number (rand() % 4) I get this 
spectrum:


4fsk-rand.png
​
Looks good. Now if I modulate it with the vocoder bits instead:

4fsk-voice.png
​
Well, isn't that special. I have no idea where those harmonics comes 
from, but there is always a pip at 1400 (center frequency). Plus the 
garbage on the right. Heck, there are only 4 frequencies possible in the 
modulator.


I guess swinging from say F1 in one instant to F4 in the next, must be a 
dirty process. More than likely, it's just a well hidden bug.


It's a puzzle so far :-)

Steve



--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot



___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2



--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Modulation Woes on SM1000

2018-06-13 Thread glen english

Hi STeve

With all modulation schemes the components are never single spectral 
lines, as of course the tones are modulated and thus the modulation will 
show depending how the spectrum analysis is captured.


You are right it is a dirty process switching from one to another. 
However it is a controlled process- the data is applied to a low pass 
filter before heading to the modulator (or should be) . So the dirt is 
controlled. Various filter schemes are available depending on whether 
lowest SNR, lowest bandwidth , minimum ISI etc is desired.


If the tones were directly switched at the datarate, ie no low pass 
filter,  this is the same as the individual tones being modulated with a 
square wave.


How it will look on spectrum is highly dependent with how the spectral 
analysis is performed . IE time averaged periodic, sync (IE is the 
sample and sweep rate synchronous with the data clock and sample clocks 
of the modulator etc ?)


But the dirt can also indicate a modulator bug, for sure, certainly a 
chance of that


cheers







On 14/06/2018 6:27 AM, Steve wrote:
In modulating the 4FSK using a random number (rand() % 4) I get this 
spectrum:


4fsk-rand.png
​
Looks good. Now if I modulate it with the vocoder bits instead:

4fsk-voice.png
​
Well, isn't that special. I have no idea where those harmonics comes 
from, but there is always a pip at 1400 (center frequency). Plus the 
garbage on the right. Heck, there are only 4 frequencies possible in 
the modulator.


I guess swinging from say F1 in one instant to F4 in the next, must be 
a dirty process. More than likely, it's just a well hidden bug.


It's a puzzle so far :-)

Steve



--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot


___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2




--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2