moderated FST$4W in a PIC #FST4W


Andy TALBOT
 

I was just about to convert a WSPR + DDS source to FST4W then realised it has to use GFSK - so definitely not just a case of changing timings and symbols; but a complete redesign of the firmware.

I have the paper on FT4 and FT8 published in QEX Jul/Aug 2020 which seems to cover all the maths of the GFSK waveform, but are there any specific constants / values that are different for FST4W, and are they scaleable across all modes?

The Gaussian transition will be done with a lookup table, but wondering if I'll need three of them for each possible tone shift.


steve_k9an
 

Andy,

You asked if there are any specific constants or values that are different for GFSK generation in FST4W as compared to FT4 and FT8. The answer is that FST4W uses normalized bandwidth BT=2.0 which is the same value that is used for FT8. It is different from FT4, which uses a more heavily smoothed pulse with BT=1.0. 

As to whether or not you need more than one lookup table to store the Gaussian smoothed frequency-deviation pulse(s). The answer is that a single table will suffice, because the overall frequency deviation is written as a superposition of shifted and scaled versions of the single smoothed pulse waveform defined in equation (3) of the QEX paper.  

You'll need to generate a single table containing values of the normalized Gaussian-smoothed frequency-deviation pulse as defined in equation (3) in the QEX paper.  You can then generate the instantaneous frequency deviation waveform by superposing the smoothed pulses according to equation (1) from the paper, where p(t) will represent the pulse stored in your lookup table. Note that the modulation index, h, is equal to 1 for all of the modes in WSJT-X except for MSK144 and the pulse amplitudes, b_n, are the "channel symbol" values obtained from, say, the fst4sim program. For FST4W the pulse amplitudes will be in the set {0,1,2,3}, so you will be summing shifted (but still overlapping) multiples of the Gaussian-smoothed pulse that is stored in your single lookup table.

I hope that this addresses your question.

73 Steve k9an


Andy TALBOT
 

OK, I now understand the process and can see a way forward in a PIC, sampling at a rate perhaps 32 or 64 times that of the symbol period
From the look of the curves for BT=1 and BT=2, at any one time only the contribution from two pulses need be taken into account.   The contribution from pulses further away are too small to contribute when using a table-based approach to generating the GFSK waveform.  

The next stage, when time permits,  is to write some code for a PIC that will sample at 32 or 64 times symbol rate, which is less than 1kHz even for the fastest FST15 mode, then send the results to a 48 bit DDS. 
 It needs to be a 48 bit device - I use the AD9852 - as a normal 32 bit one is too coarse to give the correct increments at the slowest modes.

If I'm using contributions from two adjacent symbols, the curve stored in the table need only cover half the entire shape as the second half is a mirror image.  That will possibly,simplify the table lookup process.    I'll be using an 8 bit table, so frequency during the shift  will be quantised and I don't have the mathematical nous to calculate the effect that may have on spurii. 

Andy   G4JNT


Bill Somerville
 

On 16/03/2021 10:58, Andy TALBOT wrote:
OK, I now understand the process and can see a way forward in a PIC, sampling at a rate perhaps 32 or 64 times that of the symbol period
From the look of the curves for BT=1 and BT=2, at any one time only the contribution from two pulses need be taken into account.  The contribution from pulses further away are too small to contribute when using a table-based approach to generating the GFSK waveform.

The next stage, when time permits,  is to write some code for a PIC that will sample at 32 or 64 times symbol rate, which is less than 1kHz even for the fastest FST15 mode, then send the results to a 48 bit DDS.
 It needs to be a 48 bit device - I use the AD9852 - as a normal 32 bit one is too coarse to give the correct increments at the slowest modes.

If I'm using contributions from two adjacent symbols, the curve stored in the table need only cover half the entire shape as the second half is a mirror image.  That will possibly,simplify the table lookup process.    I'll be using an 8 bit table, so frequency during the shift  will be quantised and I don't have the mathematical nous to calculate the effect that may have on spurii.

Andy   G4JNT
Hi Andy,

the AD9852 appears to directly support smoothed FSK transitions using what it calls ramped-FSK, I would have though that is a better approach that will avoid possibly noisy small frequency steps between symbols. The data sheet says that even though the ramp function is linear, it may be adjusted on the fly for more complex transitions.

73
Bill
G4WJS.


Bill Somerville
 

On 16/03/2021 11:04, Bill Somerville wrote:
On 16/03/2021 10:58, Andy TALBOT wrote:
OK, I now understand the process and can see a way forward in a PIC, sampling at a rate perhaps 32 or 64 times that of the symbol period
From the look of the curves for BT=1 and BT=2, at any one time only the contribution from two pulses need be taken into account.  The contribution from pulses further away are too small to contribute when using a table-based approach to generating the GFSK waveform.

The next stage, when time permits,  is to write some code for a PIC that will sample at 32 or 64 times symbol rate, which is less than 1kHz even for the fastest FST15 mode, then send the results to a 48 bit DDS.
 It needs to be a 48 bit device - I use the AD9852 - as a normal 32 bit one is too coarse to give the correct increments at the slowest modes.

If I'm using contributions from two adjacent symbols, the curve stored in the table need only cover half the entire shape as the second half is a mirror image.  That will possibly,simplify the table lookup process.    I'll be using an 8 bit table, so frequency during the shift  will be quantised and I don't have the mathematical nous to calculate the effect that may have on spurii.

Andy   G4JNT

Hi Andy,

the AD9852 appears to directly support smoothed FSK transitions using what it calls ramped-FSK, I would have though that is a better approach that will avoid possibly noisy small frequency steps between symbols. The data sheet says that even though the ramp function is linear, it may be adjusted on the fly for more complex transitions.

73
Bill
G4WJS.

Hi Andy,

having suggested that, I am not sure how feasible it would be to generate ramped-MFSK using the FSK capabilities of that DDS since you cannot ensure that F1 is always lower than F2 without sometimes having to change either F1 or F2 while it is being used by the DDS. I say this because ramped-FSK has a requirement that F1 always be lower than F2. Perhaps it is a non-starter :(

73
Bill
G4WJS.


Bill Somerville
 

On 16/03/2021 11:16, Bill Somerville wrote:
On 16/03/2021 11:04, Bill Somerville wrote:
On 16/03/2021 10:58, Andy TALBOT wrote:
OK, I now understand the process and can see a way forward in a PIC, sampling at a rate perhaps 32 or 64 times that of the symbol period
From the look of the curves for BT=1 and BT=2, at any one time only the contribution from two pulses need be taken into account.  The contribution from pulses further away are too small to contribute when using a table-based approach to generating the GFSK waveform.

The next stage, when time permits,  is to write some code for a PIC that will sample at 32 or 64 times symbol rate, which is less than 1kHz even for the fastest FST15 mode, then send the results to a 48 bit DDS.
 It needs to be a 48 bit device - I use the AD9852 - as a normal 32 bit one is too coarse to give the correct increments at the slowest modes.

If I'm using contributions from two adjacent symbols, the curve stored in the table need only cover half the entire shape as the second half is a mirror image.  That will possibly,simplify the table lookup process.    I'll be using an 8 bit table, so frequency during the shift  will be quantised and I don't have the mathematical nous to calculate the effect that may have on spurii.

Andy   G4JNT

Hi Andy,

the AD9852 appears to directly support smoothed FSK transitions using what it calls ramped-FSK, I would have though that is a better approach that will avoid possibly noisy small frequency steps between symbols. The data sheet says that even though the ramp function is linear, it may be adjusted on the fly for more complex transitions.

73
Bill
G4WJS.

Hi Andy,

having suggested that, I am not sure how feasible it would be to generate ramped-MFSK using the FSK capabilities of that DDS since you cannot ensure that F1 is always lower than F2 without sometimes having to change either F1 or F2 while it is being used by the DDS. I say this because ramped-FSK has a requirement that F1 always be lower than F2. Perhaps it is a non-starter :(

73
Bill
G4WJS.

Hi Andy,

OTOH you may be able to set F1 equal to F2 (or vice versa depending on the last frequency transition direction) mid-symbol then flip the FSK input when; you need to exchange F1 and F2 to shift down or up (depending on the last frequency transition direction) to a new frequency for the next transition. That way you can do arbitrary frequency transitions while always keeping F1 lower than F2.

73
Bill
G4WJS.


Kenneth Williams
 

Hi folks.  I am jumping in because this looks interesting and may be something I want to look at more closely.. I want to comment that I am not clear on the understanding of F1/F2 as expressed in this thread.  I do not see anything in the datasheet that says F1 is the starting frequency and F2 is the end.  From what I see, either F1 or F2 can be that starting frequency. (example in figs 34, 35).

Thanks in advance for educating me.

Ken
KC6PUQ

On Tue, Mar 16, 2021 at 4:28 AM Bill Somerville <g4wjs@...> wrote:
On 16/03/2021 11:16, Bill Somerville wrote:
On 16/03/2021 11:04, Bill Somerville wrote:
On 16/03/2021 10:58, Andy TALBOT wrote:
OK, I now understand the process and can see a way forward in a PIC, sampling at a rate perhaps 32 or 64 times that of the symbol period
From the look of the curves for BT=1 and BT=2, at any one time only the contribution from two pulses need be taken into account.  The contribution from pulses further away are too small to contribute when using a table-based approach to generating the GFSK waveform.

The next stage, when time permits,  is to write some code for a PIC that will sample at 32 or 64 times symbol rate, which is less than 1kHz even for the fastest FST15 mode, then send the results to a 48 bit DDS.
 It needs to be a 48 bit device - I use the AD9852 - as a normal 32 bit one is too coarse to give the correct increments at the slowest modes.

If I'm using contributions from two adjacent symbols, the curve stored in the table need only cover half the entire shape as the second half is a mirror image.  That will possibly,simplify the table lookup process.    I'll be using an 8 bit table, so frequency during the shift  will be quantised and I don't have the mathematical nous to calculate the effect that may have on spurii.

Andy   G4JNT

Hi Andy,

the AD9852 appears to directly support smoothed FSK transitions using what it calls ramped-FSK, I would have though that is a better approach that will avoid possibly noisy small frequency steps between symbols. The data sheet says that even though the ramp function is linear, it may be adjusted on the fly for more complex transitions.

73
Bill
G4WJS.

Hi Andy,

having suggested that, I am not sure how feasible it would be to generate ramped-MFSK using the FSK capabilities of that DDS since you cannot ensure that F1 is always lower than F2 without sometimes having to change either F1 or F2 while it is being used by the DDS. I say this because ramped-FSK has a requirement that F1 always be lower than F2. Perhaps it is a non-starter :(

73
Bill
G4WJS.

Hi Andy,

OTOH you may be able to set F1 equal to F2 (or vice versa depending on the last frequency transition direction) mid-symbol then flip the FSK input when; you need to exchange F1 and F2 to shift down or up (depending on the last frequency transition direction) to a new frequency for the next transition. That way you can do arbitrary frequency transitions while always keeping F1 lower than F2.

73
Bill
G4WJS.





Kenneth Williams
 

In other words, do what Bill said.  I have to believe that the makers of this device intended such a need as this otherwise, this would be a pretty useless feaure.

Ken
KC6PUQ


Bill Somerville
 

Hi Ken,

that device requires the F1 register be the lower frequency when using *ramped-FSK* mode, in non-ramped FSK mode the two registers may be either higher or lower than each other. The ramp from F1 to F2 or F2 to F1 depends on the last change of the FSK input pin.

73
Bill
G4WJS.

On 16/03/2021 20:53, Kenneth Williams wrote:
Hi folks.  I am jumping in because this looks interesting and may be something I want to look at more closely.. I want to comment that I am not clear on the understanding of F1/F2 as expressed in this thread.  I do not see anything in the datasheet that says F1 is the starting frequency and F2 is the end.  From what I see, either F1 or F2 can be that starting frequency. (example in figs 34, 35).

Thanks in advance for educating me.

Ken
KC6PUQ

On Tue, Mar 16, 2021 at 4:28 AM Bill Somerville <g4wjs@...> wrote:
On 16/03/2021 11:16, Bill Somerville wrote:
On 16/03/2021 11:04, Bill Somerville wrote:
On 16/03/2021 10:58, Andy TALBOT wrote:
OK, I now understand the process and can see a way forward in a PIC, sampling at a rate perhaps 32 or 64 times that of the symbol period
From the look of the curves for BT=1 and BT=2, at any one time only the contribution from two pulses need be taken into account.  The contribution from pulses further away are too small to contribute when using a table-based approach to generating the GFSK waveform.

The next stage, when time permits,  is to write some code for a PIC that will sample at 32 or 64 times symbol rate, which is less than 1kHz even for the fastest FST15 mode, then send the results to a 48 bit DDS.
 It needs to be a 48 bit device - I use the AD9852 - as a normal 32 bit one is too coarse to give the correct increments at the slowest modes.

If I'm using contributions from two adjacent symbols, the curve stored in the table need only cover half the entire shape as the second half is a mirror image.  That will possibly,simplify the table lookup process.    I'll be using an 8 bit table, so frequency during the shift  will be quantised and I don't have the mathematical nous to calculate the effect that may have on spurii.

Andy   G4JNT

Hi Andy,

the AD9852 appears to directly support smoothed FSK transitions using what it calls ramped-FSK, I would have though that is a better approach that will avoid possibly noisy small frequency steps between symbols. The data sheet says that even though the ramp function is linear, it may be adjusted on the fly for more complex transitions.

73
Bill
G4WJS.

Hi Andy,

having suggested that, I am not sure how feasible it would be to generate ramped-MFSK using the FSK capabilities of that DDS since you cannot ensure that F1 is always lower than F2 without sometimes having to change either F1 or F2 while it is being used by the DDS. I say this because ramped-FSK has a requirement that F1 always be lower than F2. Perhaps it is a non-starter :(

73
Bill
G4WJS.

Hi Andy,

OTOH you may be able to set F1 equal to F2 (or vice versa depending on the last frequency transition direction) mid-symbol then flip the FSK input when; you need to exchange F1 and F2 to shift down or up (depending on the last frequency transition direction) to a new frequency for the next transition. That way you can do arbitrary frequency transitions while always keeping F1 lower than F2.

73
Bill
G4WJS.



Kenneth Williams
 

OK, I do see that but I see nothing that says F1 has to be the initial frequency, talking only about ramped-FSK mode because, per the datasheet:

The purpose of ramped FSK is to provide better bandwidth
containment than can be achieved using traditional FSK.

Going back to my second comment in the thread, and without actually working out the details, I have to believe that the process of sending out a stream of symbols with both upshift and downshift of frequencies must be possible with the mechanisms in this device (ramped FSK of course) otherwise the stuff in this chip would not have much value.

Yes?

Ken
KC6PUQ


On Tue, Mar 16, 2021 at 2:04 PM Bill Somerville <g4wjs@...> wrote:
Hi Ken,

that device requires the F1 register be the lower frequency when using *ramped-FSK* mode, in non-ramped FSK mode the two registers may be either higher or lower than each other. The ramp from F1 to F2 or F2 to F1 depends on the last change of the FSK input pin.

73
Bill
G4WJS.

On 16/03/2021 20:53, Kenneth Williams wrote:
Hi folks.  I am jumping in because this looks interesting and may be something I want to look at more closely.. I want to comment that I am not clear on the understanding of F1/F2 as expressed in this thread.  I do not see anything in the datasheet that says F1 is the starting frequency and F2 is the end.  From what I see, either F1 or F2 can be that starting frequency. (example in figs 34, 35).

Thanks in advance for educating me.

Ken
KC6PUQ

On Tue, Mar 16, 2021 at 4:28 AM Bill Somerville <g4wjs@...> wrote:
On 16/03/2021 11:16, Bill Somerville wrote:
On 16/03/2021 11:04, Bill Somerville wrote:
On 16/03/2021 10:58, Andy TALBOT wrote:
OK, I now understand the process and can see a way forward in a PIC, sampling at a rate perhaps 32 or 64 times that of the symbol period
From the look of the curves for BT=1 and BT=2, at any one time only the contribution from two pulses need be taken into account.  The contribution from pulses further away are too small to contribute when using a table-based approach to generating the GFSK waveform.

The next stage, when time permits,  is to write some code for a PIC that will sample at 32 or 64 times symbol rate, which is less than 1kHz even for the fastest FST15 mode, then send the results to a 48 bit DDS.
 It needs to be a 48 bit device - I use the AD9852 - as a normal 32 bit one is too coarse to give the correct increments at the slowest modes.

If I'm using contributions from two adjacent symbols, the curve stored in the table need only cover half the entire shape as the second half is a mirror image.  That will possibly,simplify the table lookup process.    I'll be using an 8 bit table, so frequency during the shift  will be quantised and I don't have the mathematical nous to calculate the effect that may have on spurii.

Andy   G4JNT

Hi Andy,

the AD9852 appears to directly support smoothed FSK transitions using what it calls ramped-FSK, I would have though that is a better approach that will avoid possibly noisy small frequency steps between symbols. The data sheet says that even though the ramp function is linear, it may be adjusted on the fly for more complex transitions.

73
Bill
G4WJS.

Hi Andy,

having suggested that, I am not sure how feasible it would be to generate ramped-MFSK using the FSK capabilities of that DDS since you cannot ensure that F1 is always lower than F2 without sometimes having to change either F1 or F2 while it is being used by the DDS. I say this because ramped-FSK has a requirement that F1 always be lower than F2. Perhaps it is a non-starter :(

73
Bill
G4WJS.

Hi Andy,

OTOH you may be able to set F1 equal to F2 (or vice versa depending on the last frequency transition direction) mid-symbol then flip the FSK input when; you need to exchange F1 and F2 to shift down or up (depending on the last frequency transition direction) to a new frequency for the next transition. That way you can do arbitrary frequency transitions while always keeping F1 lower than F2.

73
Bill
G4WJS.






Kenneth Williams
 

One more time and then I will go away for a while.

Looking more closely, it is looking like this really is meant to perform just two-tone FSK.  Lower F in F1 and higher F in F2 and toggle the FSK signal to select the frequency.

Goodbye for a while

Ken
KC6PUQ


Andy TALBOT
 

The ramping in the AD9852 is a linear sweep.   That used for FST4 is Gaussian shaped  Having worked put how to do a proper shaped one, reverting to a linear ramp just because the chip can do it itself is a cop-out.  

The 9852 is rather long in the tooth now, may be worth looking for an improved DDS, although 48 bit ones are rarer.


Virus-free. www.avg.com


Bill Somerville
 

Hi Ken,

the DDS FSK features are probably designed for 2-FSK where F1 and F2 are fixed, FST4W is 4-FSK so it gets a bit more complex as the next tone shift may be to higher or lower frequency than the current F1 or F2 frequency. The problem as I see it is that although you can exchange F1 and F2 values you will need to avoid changing the one that is currently being used to synthesize the output. Hence my suggestion that, when F2 would need to be set to lower than F1, you could set the one not being used to be equal to the one being used during the dwell time when there is no ramping (mid-symbol) then flip the FSK input, which would not change the output frequency, then set the register that was originally being used for synthesis while maintaining the F1 ≤ F2 requirement for ramped-FSK operation.

73
Bill
G4WJS.

On 16/03/2021 21:14, Kenneth Williams wrote:
OK, I do see that but I see nothing that says F1 has to be the initial frequency, talking only about ramped-FSK mode because, per the datasheet:

The purpose of ramped FSK is to provide better bandwidth
containment than can be achieved using traditional FSK.

Going back to my second comment in the thread, and without actually working out the details, I have to believe that the process of sending out a stream of symbols with both upshift and downshift of frequencies must be possible with the mechanisms in this device (ramped FSK of course) otherwise the stuff in this chip would not have much value.

Yes?

Ken
KC6PUQ


On Tue, Mar 16, 2021 at 2:04 PM Bill Somerville <g4wjs@...> wrote:
Hi Ken,

that device requires the F1 register be the lower frequency when using *ramped-FSK* mode, in non-ramped FSK mode the two registers may be either higher or lower than each other. The ramp from F1 to F2 or F2 to F1 depends on the last change of the FSK input pin.

73
Bill
G4WJS.

On 16/03/2021 20:53, Kenneth Williams wrote:
Hi folks.  I am jumping in because this looks interesting and may be something I want to look at more closely.. I want to comment that I am not clear on the understanding of F1/F2 as expressed in this thread.  I do not see anything in the datasheet that says F1 is the starting frequency and F2 is the end.  From what I see, either F1 or F2 can be that starting frequency. (example in figs 34, 35).

Thanks in advance for educating me.

Ken
KC6PUQ

On Tue, Mar 16, 2021 at 4:28 AM Bill Somerville <g4wjs@...> wrote:
On 16/03/2021 11:16, Bill Somerville wrote:
On 16/03/2021 11:04, Bill Somerville wrote:
On 16/03/2021 10:58, Andy TALBOT wrote:
OK, I now understand the process and can see a way forward in a PIC, sampling at a rate perhaps 32 or 64 times that of the symbol period
From the look of the curves for BT=1 and BT=2, at any one time only the contribution from two pulses need be taken into account.  The contribution from pulses further away are too small to contribute when using a table-based approach to generating the GFSK waveform.

The next stage, when time permits,  is to write some code for a PIC that will sample at 32 or 64 times symbol rate, which is less than 1kHz even for the fastest FST15 mode, then send the results to a 48 bit DDS.
 It needs to be a 48 bit device - I use the AD9852 - as a normal 32 bit one is too coarse to give the correct increments at the slowest modes.

If I'm using contributions from two adjacent symbols, the curve stored in the table need only cover half the entire shape as the second half is a mirror image.  That will possibly,simplify the table lookup process.    I'll be using an 8 bit table, so frequency during the shift  will be quantised and I don't have the mathematical nous to calculate the effect that may have on spurii.

Andy   G4JNT

Hi Andy,

the AD9852 appears to directly support smoothed FSK transitions using what it calls ramped-FSK, I would have though that is a better approach that will avoid possibly noisy small frequency steps between symbols. The data sheet says that even though the ramp function is linear, it may be adjusted on the fly for more complex transitions.

73
Bill
G4WJS.

Hi Andy,

having suggested that, I am not sure how feasible it would be to generate ramped-MFSK using the FSK capabilities of that DDS since you cannot ensure that F1 is always lower than F2 without sometimes having to change either F1 or F2 while it is being used by the DDS. I say this because ramped-FSK has a requirement that F1 always be lower than F2. Perhaps it is a non-starter :(

73
Bill
G4WJS.

Hi Andy,

OTOH you may be able to set F1 equal to F2 (or vice versa depending on the last frequency transition direction) mid-symbol then flip the FSK input when; you need to exchange F1 and F2 to shift down or up (depending on the last frequency transition direction) to a new frequency for the next transition. That way you can do arbitrary frequency transitions while always keeping F1 lower than F2.

73
Bill
G4WJS.



Kenneth Williams
 

My interpretation of the datasheet, as below, is that the 9852 can perform non-linear transitions.  I think that the more difficult obstacle to overcome with respect to using the auto frequency changing mechanism in this chip, is that the frequency shifting mechanism in this chip seems to be designed only for two-tone FSK operation.  Even then, the non-linear frequency shifting looks to require constant updates of the delta frequency register during the transition between the frequencies.

Ken
KC6PUQ

-------- From Datasheet --------
 Although linear sweeping, or frequency ramping, is
easily and automatically accomplished, it is only one of many
possibilities. Other frequency transition schemes can be
implemented by changing the ramp rate and ramp step size at
any time during operation.
Frequency ramping, whether linear or nonlinear, necessitates
that many intermediate frequencies between F1 and F2 are
output in addition to the primary F1 and F2 frequencies. 


Bill Somerville
 

On 16/03/2021 21:31, Andy TALBOT wrote:
The ramping in the AD9852 is a linear sweep.   That used for FST4 is Gaussian shaped  Having worked put how to do a proper shaped one, reverting to a linear ramp just because the chip can do it itself is a cop-out.  

The 9852 is rather long in the tooth now, may be worth looking for an improved DDS, although 48 bit ones are rarer.

Hi Andy,

non-linear ramping is well defined for that DDS, the ramp control can be changed and timed on the fly as I said before. Even if the ramp is divided into a few segments with different slopes it will probably be better than trying to tweak the DDS in single frequency mode at exactly the right intervals to generate anything like a Gaussian filter. In fact I suspect a linear ramped-FSK will be better than any attempt at a piecemeal generation a Gaussian filtered MFSK, certainly much easier to generate using the DDS chip's facilities for it.

73
Bill
G4WJS.


Kenneth Williams
 

Yes, I caught the issue that this chip is designed for two-tone FSK.  However, after thinking about your idea, it is not clear that this would work without knowing the undocumented internals of the chip.  Very specifically, it is not clear that if both F1 and F2 hold the same frequency, that there would be no phase discontinuity when flipping the FSK input.

So, in the method you propose, at some point in the operation, set F1=F2 and change FSK.  What should be the setting for ramped or non-ramped?  If ramped, what rate? And then, the big question, how well is phase continuity guaranteed?  This phase continuity is not clear to me from the chip specs.

This is a good and interesting topic.

Ken
KC6PUQ


Bill Somerville
 

On 16/03/2021 21:54, Kenneth Williams wrote:
Yes, I caught the issue that this chip is designed for two-tone FSK.  However, after thinking about your idea, it is not clear that this would work without knowing the undocumented internals of the chip.  Very specifically, it is not clear that if both F1 and F2 hold the same frequency, that there would be no phase discontinuity when flipping the FSK input.

So, in the method you propose, at some point in the operation, set F1=F2 and change FSK.  What should be the setting for ramped or non-ramped?  If ramped, what rate? And then, the big question, how well is phase continuity guaranteed?  This phase continuity is not clear to me from the chip specs.

This is a good and interesting topic.

Ken
KC6PUQ
Ken,

the DDS is phase continuous when doing FSK frequency shifts. The ramping can be disabled in ramped-FSK mode by clearing the TRIANGLE bit if necessary. I did say that any F1/F2 swapping would need to be done in dwell time mid-symbol, probably just prior as at mid-symbol in ramped-FSK mode it is time to flip the FSK input to start the next frequency change if there is one. So I don't think any of your questions above are relevant or unanswered by the data sheet.

73
Bill
G4WJS.


Bo, OZ2M
 

Back in spring 2018 Rolf, DK7FU, contacted me about the key click from DB0HRF, on 2 m using PI4, that disturbed the DR9A contest group 172 km away. I made and installed a new S/W on the AD9912 driver that is able to perform linear intermediate steps when shifting from one tone to the next. We eventually settled for four intermediate steps. The steps reduced the key clicks by ~12 dB. More steps did not provide any significant difference. With 100 steps the signal sounded like a slide guitar straight out of Nashville. 100 steps also fooled PI-RX so this was not feasible at least with the speed of change implemented and over the K = 40 tone spacing.

With an AD9912 clocked at 1 GHz https://rudius.net/oz2m/ngnb/dds.htm changing frequency is limited by the SPI speed. But Gaussian steps could easily be implemented. On top of my head I believe that some of the AD99xx DDSes can do some sort of Gaussian steps themselves in addition to raised cosine RF amplitude.

Bo
www.rudius.net/oz2m :: www.rfzero.net


Andy TALBOT
 

Got it going.  16F628A PIC with AD9852 DDS  
At the moment as a demonstration to generate nice pictures to show.    Real shifts and timings can come later.
This plot is with a ridiculously large shift compared with the baud rate, but I did it to get a plot that looks good in print for illustration.
http://www.g4jnt.com/DropF/gaussianmfsk.png

Shifts and baud rate for real FST4W will come shortly.

That uses a 64 point lookup table with output values 0 - 250, although the actual Gaussian curve only covers about 30% of the total entries.  The curve is made up from summing two adjacent symbol weighted by table value.   The table itself contains half the total curve, with the lookups for each symbol pair being made by reflecting the address.

Looks as if FT8 is going to be feasible

Andy  G4JNT


Kenneth Williams
 

Andy

Did you end up using ramped FSK, unramped FSK, some manipulation of single-tone or something else?  Just wondering.

Ken
KC6PUQ