Re: [Flexradio] Filter measurements
Jim, Two questions. Why are you assuming a DSP buffer size of 512 with a sample rate of 48Ks/s? Some of us are using a DSP buffer size of 4096 whether we are sampling at 48Ks/s or 96Ks/s. I think that size buffer will affect CW performance only when going from TX to RX, which is going to be slow anyway as the SDR does not operate full QSK. What is the 8640? At 11:09 PM 2/18/2007, Jim Lux wrote: At 06:39 PM 2/18/2007, Tom Thompson wrote: Jim, Maybe shape factor is the wrong term to use. All I know is that I took a relative low phase noise source, a HP 8640B, and tuned the SDR so that the signal was in the bandpass with the filter set to 1000 Hz. I then retuned the SDR so that the signal was 6db down. I then retuned the SDR again so that the signal was 60 db down. If I divided the 6 db bandpass by the 60 db bandpass, the number was about 1.1. If I followed the same proceedure with the filter set to 100 Hz , the number was 2.7. What causes the difference? So, we have 1100 Hz for -60 dB bandwidth (roughly) for the 1000 Hz filter case. and 270 Hz for -60 dB bandwidth (roughly) for the 100 Hz filter case. Note that in both cases, the skirt width is about 100 Hz. The actual width will depend on the buffer size and sample rate (as well as any windowing that Frank and Bob have implemented), but, based on your observations, the sampling rate in the frequency domain is around 100Hz. If you're sampling at 48 kHz, I'd guess you're using 512 sample buffers, if 96 kHz, 1024, etc. Did you have spur reduction on or off? To get rid of the peculiarities from that, you can retune the 8640. Although, I don't know if you can tune it in small enough steps. You can lock an 8640, but it doesn't base the synthesis on the reference, as I recall. I think the accuracy is something like a few tens of ppm at best, when locked. The 8640 is pretty quiet far out (say, 20 kHz or more.), but might not be that quiet close in.. The HP catalog only shows phase noise in as far as 2kHz where it's on the order of -110 dBc/Hz.. And, looks like it's in a 40 dB/decade area (comparing the number at 20kHz and 2 kHz), so coming in to 200 Hz would be -70dBc/Hz, and to 20 Hz, to -30 dBc/Hz... Gonna be tough to measure filters with 10-20 Hz transitions with a generator like that. If you have it locked to an external 5 MHz source, it might be quieter, but I don't have the data on that. It would depend on the loop bandwidth and how they do the locking. Aside from measurement technique issues, the basic difference is due to the quantization of the bandpass...Depending on sample rate and buffer size, the filter is some integer number of bins wide..If the number of bins wide for the filter is small, then the shape factor will be not as good as if it is, say, 1000 bins wide. Imagine the filter characteristic as drawn on a piece of graph paper with the points spaced at (sample rate)/(buffer size) Hz apart, with straight lines between points. You can't get any steeper than transitioning in one sample Jim, W6RMK ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/
Re: [Flexradio] Filter measurements
At 06:26 AM 2/19/2007, Charles Greene wrote: Jim, Two questions. Why are you assuming a DSP buffer size of 512 with a sample rate of 48Ks/s? I was assuming 512 so that the filter transition width would be approximately 100 Hz. If you had a 4096 buffer, then the skirts would be 48000/4096, about 12 Hz, or if running at 96kS/s, 24 Hz. I confess I am lazy and haven't looked at the source code to see how Frank and Bob implemented the filter to see how many bins it spans. Some of us are using a DSP buffer size of 4096 whether we are sampling at 48Ks/s or 96Ks/s. I think that size buffer will affect CW performance only when going from TX to RX, which is going to be slow anyway as the SDR does not operate full QSK. What is the 8640? That's a cavity tuned RF signal generator made by HP mentioned by one of the earlier posters. They're widely available surplus for $500-1000 (although, sometimes they have broken gear teeth in the tuning mechanism), and are nice quiet (better than -130dBc more than a few tens of kHz away) and reasonably stable signal generator with a good attenuator for setting levels. The ARRL handbook mentions them in testing, and they were a standby in most RF labs 15-20 years ago. I would imagine that most labs these days use something that's synthesized and has better remote control (like an HP 8663 for an older piece of gear that's still widely used today) The Agilent 8648, E44xx series, etc are the brand new items... Interestingly, for close in performance, the 1GS/s AD9858 DDS might actually be quieter than the HP 8640, except for the fairly high level discrete spurs. It's down in the -110dB/Hz at 10 Hz out range dropping to -130dBc/Hz at 1 MHz out, or thereabouts... The 8640 will be a lot cleaner (no spurs) especially way out (10 MHz away, it could easily be 150 dB down) You can get the AD9858 eval board for $350.. Put it in a box with the power supplies, and you've got a pretty impressive test source. Jim, W6RMK ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/
Re: [Flexradio] Filter measurements
Jim, The 512 or 1024 DSP buffer size really wreck the filters. I ran some tests and plotted some graphs using Spectrogram and an RF noise generator which I can send you. I ran the tests using buffer settings of 4096 and 1024 with the FireBox running at 96Kss. Here is the info sheet for the 1024 buffer plot: Firebox at 96Ks/s DSP Buffer 1024 Filter setting any value from 10 to 100 Hz Filter at -6 dB 200 Hz wide Filter at -60 dB 760 Hz wide Shape Factor 3.8 10 Hz is the narrowest filter one can set. You can get Spectrogram at http://www.visualizationsoftware.com/gram.html . It costs some money to register, but I have the last free version Gram5 which I can email to you. The problem with Gram5 is that it has only about 40 dB useable dynamic range, while the latest version, Gram14 has over 60 dB useable dynamic range. 73 Chas W1CG At 11:00 AM 2/19/2007, you wrote: At 06:26 AM 2/19/2007, Charles Greene wrote: Jim, Two questions. Why are you assuming a DSP buffer size of 512 with a sample rate of 48Ks/s? I was assuming 512 so that the filter transition width would be approximately 100 Hz. If you had a 4096 buffer, then the skirts would be 48000/4096, about 12 Hz, or if running at 96kS/s, 24 Hz. I confess I am lazy and haven't looked at the source code to see how Frank and Bob implemented the filter to see how many bins it spans. Some of us are using a DSP buffer size of 4096 whether we are sampling at 48Ks/s or 96Ks/s. I think that size buffer will affect CW performance only when going from TX to RX, which is going to be slow anyway as the SDR does not operate full QSK. What is the 8640? That's a cavity tuned RF signal generator made by HP mentioned by one of the earlier posters. They're widely available surplus for $500-1000 (although, sometimes they have broken gear teeth in the tuning mechanism), and are nice quiet (better than -130dBc more than a few tens of kHz away) and reasonably stable signal generator with a good attenuator for setting levels. The ARRL handbook mentions them in testing, and they were a standby in most RF labs 15-20 years ago. I would imagine that most labs these days use something that's synthesized and has better remote control (like an HP 8663 for an older piece of gear that's still widely used today) The Agilent 8648, E44xx series, etc are the brand new items... Interestingly, for close in performance, the 1GS/s AD9858 DDS might actually be quieter than the HP 8640, except for the fairly high level discrete spurs. It's down in the -110dB/Hz at 10 Hz out range dropping to -130dBc/Hz at 1 MHz out, or thereabouts... The 8640 will be a lot cleaner (no spurs) especially way out (10 MHz away, it could easily be 150 dB down) You can get the AD9858 eval board for $350.. Put it in a box with the power supplies, and you've got a pretty impressive test source. Jim, W6RMK ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/
Re: [Flexradio] Filter measurements
Chas, What was the info for 4098 @ 96K -Tim, W4TME Si fractum non sit, id reficere -Unknown Roman consultant -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Charles Greene Sent: Monday, February 19, 2007 7:39 PM To: Jim Lux Cc: FlexRadio@flex-radio.biz Subject: Re: [Flexradio] Filter measurements Jim, The 512 or 1024 DSP buffer size really wreck the filters. I ran some tests and plotted some graphs using Spectrogram and an RF noise generator which I can send you. I ran the tests using buffer settings of 4096 and 1024 with the FireBox running at 96Kss. Here is the info sheet for the 1024 buffer plot: Firebox at 96Ks/s DSP Buffer 1024 Filter setting any value from 10 to 100 Hz Filter at -6 dB 200 Hz wide Filter at -60 dB 760 Hz wide Shape Factor 3.8 10 Hz is the narrowest filter one can set. You can get Spectrogram at http://www.visualizationsoftware.com/gram.html . It costs some money to register, but I have the last free version Gram5 which I can email to you. The problem with Gram5 is that it has only about 40 dB useable dynamic range, while the latest version, Gram14 has over 60 dB useable dynamic range. 73 Chas W1CG At 11:00 AM 2/19/2007, you wrote: At 06:26 AM 2/19/2007, Charles Greene wrote: Jim, Two questions. Why are you assuming a DSP buffer size of 512 with a sample rate of 48Ks/s? I was assuming 512 so that the filter transition width would be approximately 100 Hz. If you had a 4096 buffer, then the skirts would be 48000/4096, about 12 Hz, or if running at 96kS/s, 24 Hz. I confess I am lazy and haven't looked at the source code to see how Frank and Bob implemented the filter to see how many bins it spans. Some of us are using a DSP buffer size of 4096 whether we are sampling at 48Ks/s or 96Ks/s. I think that size buffer will affect CW performance only when going from TX to RX, which is going to be slow anyway as the SDR does not operate full QSK. What is the 8640? That's a cavity tuned RF signal generator made by HP mentioned by one of the earlier posters. They're widely available surplus for $500-1000 (although, sometimes they have broken gear teeth in the tuning mechanism), and are nice quiet (better than -130dBc more than a few tens of kHz away) and reasonably stable signal generator with a good attenuator for setting levels. The ARRL handbook mentions them in testing, and they were a standby in most RF labs 15-20 years ago. I would imagine that most labs these days use something that's synthesized and has better remote control (like an HP 8663 for an older piece of gear that's still widely used today) The Agilent 8648, E44xx series, etc are the brand new items... Interestingly, for close in performance, the 1GS/s AD9858 DDS might actually be quieter than the HP 8640, except for the fairly high level discrete spurs. It's down in the -110dB/Hz at 10 Hz out range dropping to -130dBc/Hz at 1 MHz out, or thereabouts... The 8640 will be a lot cleaner (no spurs) especially way out (10 MHz away, it could easily be 150 dB down) You can get the AD9858 eval board for $350.. Put it in a box with the power supplies, and you've got a pretty impressive test source. Jim, W6RMK ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/ ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/
Re: [Flexradio] Filter measurements
Tim, FireBox 96Kss Buffer 4096 Filter 10 Hz set Bandwidth at -6 dB 60 Hz Bandwidth at -60 dB 190 Hz Shape factor 3.17 Note: With the filter set at 20 Hz the readings were essentially the same. I thought that by setting a very narrow filter, e.g. 10 Hz, I could get a narrower response than the 25 Hz setting, but such was not the case. I am contemplating going back to 48Kss. My previous test was that the 25Hz filter measured 25 Hz at -6 dB with a buffer of 4096 at 48Kss. The shape factor looked good, but I didn't get a reading on it, as the dynamic range of Spectrogram 5 I was using was only 40 dB. I will rerun it using Spectrogram 17 which has a dynamic range over 60 dB. I don't know what the answer is. Maybe a 8192 buffer for 96Kss and a 16384 buffer for 192Kss. The latency should be about the same as with a 4096 buffer and 48Kss. Either that or rework the filters which will take some magic. C At 09:24 PM 2/19/2007, Tim Ellison wrote: Chas, What was the info for 4098 @ 96K -Tim, W4TME Si fractum non sit, id reficere -Unknown Roman consultant -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Charles Greene Sent: Monday, February 19, 2007 7:39 PM To: Jim Lux Cc: FlexRadio@flex-radio.biz Subject: Re: [Flexradio] Filter measurements Jim, The 512 or 1024 DSP buffer size really wreck the filters. I ran some tests and plotted some graphs using Spectrogram and an RF noise generator which I can send you. I ran the tests using buffer settings of 4096 and 1024 with the FireBox running at 96Kss. Here is the info sheet for the 1024 buffer plot: Firebox at 96Ks/s DSP Buffer 1024 Filter setting any value from 10 to 100 Hz Filter at -6 dB 200 Hz wide Filter at -60 dB 760 Hz wide Shape Factor 3.8 10 Hz is the narrowest filter one can set. You can get Spectrogram at http://www.visualizationsoftware.com/gram.html . It costs some money to register, but I have the last free version Gram5 which I can email to you. The problem with Gram5 is that it has only about 40 dB useable dynamic range, while the latest version, Gram14 has over 60 dB useable dynamic range. 73 Chas W1CG At 11:00 AM 2/19/2007, you wrote: At 06:26 AM 2/19/2007, Charles Greene wrote: Jim, Two questions. Why are you assuming a DSP buffer size of 512 with a sample rate of 48Ks/s? I was assuming 512 so that the filter transition width would be approximately 100 Hz. If you had a 4096 buffer, then the skirts would be 48000/4096, about 12 Hz, or if running at 96kS/s, 24 Hz. I confess I am lazy and haven't looked at the source code to see how Frank and Bob implemented the filter to see how many bins it spans. Some of us are using a DSP buffer size of 4096 whether we are sampling at 48Ks/s or 96Ks/s. I think that size buffer will affect CW performance only when going from TX to RX, which is going to be slow anyway as the SDR does not operate full QSK. What is the 8640? That's a cavity tuned RF signal generator made by HP mentioned by one of the earlier posters. They're widely available surplus for $500-1000 (although, sometimes they have broken gear teeth in the tuning mechanism), and are nice quiet (better than -130dBc more than a few tens of kHz away) and reasonably stable signal generator with a good attenuator for setting levels. The ARRL handbook mentions them in testing, and they were a standby in most RF labs 15-20 years ago. I would imagine that most labs these days use something that's synthesized and has better remote control (like an HP 8663 for an older piece of gear that's still widely used today) The Agilent 8648, E44xx series, etc are the brand new items... Interestingly, for close in performance, the 1GS/s AD9858 DDS might actually be quieter than the HP 8640, except for the fairly high level discrete spurs. It's down in the -110dB/Hz at 10 Hz out range dropping to -130dBc/Hz at 1 MHz out, or thereabouts... The 8640 will be a lot cleaner (no spurs) especially way out (10 MHz away, it could easily be 150 dB down) You can get the AD9858 eval board for $350.. Put it in a box with the power supplies, and you've got a pretty impressive test source. Jim, W6RMK ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/ ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/
[Flexradio] Filter measurements
All Here are some filter measurements I did with the Flex-Radio. I'd be interested in anyone else's numbers if there are differences - there may be some configuration or setup option that I've overlooked that would affect the results. FYI, I'm interested in cases where someone has come up with different results and has some ideas as to why they're different (as opposed to theoretical or hypothetical suggestions without any any substantiating measurements...) I should have been from Missouri. Also, I am interested in knowing if the shape factor is designed to be wider with narrow filters and get tighter as the filter bandwidth increases (or if this is an artifact of my measurements, physics, etc.) I've seen that steep skirts on analog filters cause ringing, but that this can be avoided with DSP filters. If this is the case, why not use arbitrarily steep filters? Is it a computational cost issue, or are there other tradeoffs that make this impractical. This isn't a criticism; I'd just like to know how it works. Thanks again to all the suggestions and discussion - I've learned a lot from you guys, and I really appreciate it! Mark Here are (I think) the salient features of my setup and the test conditions: - PowerSDR v1.9.0 SVN 899 - Edirol FA-66 - 48000 Ks/s - Buffer 2048 - 4096 FFT Bins - Hanning window - AGC off (it didn't seem to make any difference - I assume the S-Meter is before the AGC.) I used an HP 10811 OCXO as the oscillator at 10MHz because it's the cleanest, most stable oscillator I have. Before the test I ran the receive image rejection calibration and calibrated the S-meter with a 50uV and a 1uV signal to get it as accurate as possible. I tuned the receiver up and down in 1 Hz increments and measured the signal level as reported by the Flex S-meter - to the nearest 10th of a dBm. When I finished the series, I repeated the 10Hz and 20Hz filter tests just to see if anything had drifted or changed. The results were the same. Here are the results: 10Hz filter -6dB 32Hz wide -60dB 89Hz wide 2.78 shape factor 20Hz filter -6dB 34Hz wide -60dB 95Hz wide 2.76 shape factor 30Hz filter -6dB 38Hz wide -60dB 102Hz wide 2.68 shape factor 50Hz filter -6dB 51Hz wide -60dB 122Hz wide 2.39 shape factor 100Hz filter -6dB 100Hz wide -60dB 172Hz wide 1.72 shape factor 200Hz filter -6dB 200Hz wide -60dB 272Hz wide 1.36 shape factor 250Hz filter -6dB 250Hz wide -60dB 322Hz wide 1.29 shape factor 500Hz filter -6dB 500Hz wide -60dB 574Hz wide 1.15 shape factor 600Hz filter -6dB 600Hz wide -60dB 674Hz wide 1.12 shape factor 1000Hz filter -6dB 1000Hz wide -60dB 1074Hz wide 1.07 shape factor 2400Hz filter -6dB 2400Hz wide -60dB 2474Hz wide 1.03 shape factor So the filter algorithm is more accurate above 30Hz or so. I suspect that there are rounding errors and other issues that keep them from measuring accurately down below 30Hz. Mark -- next part -- An HTML attachment was scrubbed... URL: http://mail.flex-radio.biz/pipermail/flexradio_flex-radio.biz/attachments/20070218/8fc5a6c0/attachment.html ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/
Re: [Flexradio] Filter measurements
Mark, Nice piece of work. This series of measurements is a good illustration of the effects of the size of the DSP buffer. Did you run the test with the DSP buffer set at 4096? I always run my DSP buffer at 4096, and get basically the result that the 25 Hz filter is 25 Hz at -6dB with a 48Ks/s rate. I get results similar to yours running my FireBox at 96000s/s with the 4096 Buffer or when using the 2048 DSP buffer and sampling at 48Ks/s, but a little wider. My results show the 25 Hz filter to be approximately 50 Hz wide when sampling at 48Ks/s and using a 2048 DSP buffer. The math of the shape 6/60 dB shape factor will normally cause the wider filter to have a smaller shape factor, with the same filter roll off. You might want to look at the enhancement list. I submitted an enhancement this morning to add 8192 and 16348 DSP buffers to improve the filter shape factor when sampling at 96K and 192K s/s. At 08:01 AM 2/18/2007, Mark Amos wrote: All Here are some filter measurements I did with the Flex-Radio. I'd be interested in anyone else's numbers if there are differences - there may be some configuration or setup option that I've overlooked that would affect the results. FYI, I'm interested in cases where someone has come up with different results and has some ideas as to why they're different (as opposed to theoretical or hypothetical suggestions without any any substantiating measurements...) I should have been from Missouri. Also, I am interested in knowing if the shape factor is designed to be wider with narrow filters and get tighter as the filter bandwidth increases (or if this is an artifact of my measurements, physics, etc.) I've seen that steep skirts on analog filters cause ringing, but that this can be avoided with DSP filters. If this is the case, why not use arbitrarily steep filters? Is it a computational cost issue, or are there other tradeoffs that make this impractical. This isn't a criticism; I'd just like to know how it works. Thanks again to all the suggestions and discussion - I've learned a lot from you guys, and I really appreciate it! Mark Here are (I think) the salient features of my setup and the test conditions: - PowerSDR v1.9.0 SVN 899 - Edirol FA-66 - 48000 Ks/s - Buffer 2048 - 4096 FFT Bins - Hanning window - AGC off (it didn't seem to make any difference - I assume the S-Meter is before the AGC.) I used an HP 10811 OCXO as the oscillator at 10MHz because it's the cleanest, most stable oscillator I have. Before the test I ran the receive image rejection calibration and calibrated the S-meter with a 50uV and a 1uV signal to get it as accurate as possible. I tuned the receiver up and down in 1 Hz increments and measured the signal level as reported by the Flex S-meter - to the nearest 10th of a dBm. When I finished the series, I repeated the 10Hz and 20Hz filter tests just to see if anything had drifted or changed. The results were the same. Here are the results: 10Hz filter -6dB 32Hz wide -60dB 89Hz wide 2.78 shape factor 20Hz filter -6dB 34Hz wide -60dB 95Hz wide 2.76 shape factor 30Hz filter -6dB 38Hz wide -60dB 102Hz wide 2.68 shape factor 50Hz filter -6dB 51Hz wide -60dB 122Hz wide 2.39 shape factor 100Hz filter -6dB 100Hz wide -60dB 172Hz wide 1.72 shape factor 200Hz filter -6dB 200Hz wide -60dB 272Hz wide 1.36 shape factor 250Hz filter -6dB 250Hz wide -60dB 322Hz wide 1.29 shape factor 500Hz filter -6dB 500Hz wide -60dB 574Hz wide 1.15 shape factor 600Hz filter -6dB 600Hz wide -60dB 674Hz wide 1.12 shape factor 1000Hz filter -6dB 1000Hz wide -60dB 1074Hz wide 1.07 shape factor 2400Hz filter -6dB 2400Hz wide -60dB 2474Hz wide 1.03 shape factor So the filter algorithm is more accurate above 30Hz or so. I suspect that there are rounding errors and other issues that keep them from measuring accurately down below 30Hz. Mark xRadio Knowledge Base: http://kb.flex-radio.com/ ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/
Re: [Flexradio] Filter measurements
I'm not a dsp guru, but I think what you're seeing at the smaller filter sizes is an artifact of spectrum leakage (http://www.dsptutor.freeuk.com/analyser/guidance.html#leakage) from one bin to another.The basic FFT bin size is 11hz, so for a filter 30 hz or below you've only got 3 bins to work with so I think the effects of leakage will be relatively larger than with larger filters since the transition zones cover more bins. I'd think to improve this one would need to band pass filter the signal of interest, then decimate and do an FFT of the decimated signal such that you have a smaller bin width. Might be an interesting hack to try when the passband is small. Regards, Bill (kd5tfd) At 07:01 AM 2/18/2007, Mark Amos wrote: All Here are some filter measurements I did with the Flex-Radio. I'd be interested in anyone else's numbers if there are differences - there may be some configuration or setup option Also, I am interested in knowing if the shape factor is designed to be wider with narrow filters and get tighter as the filter bandwidth increases (or if this is an artifact of my measurements, physics, etc.) I've seen that steep skirts on analog filters cause ringing, but that this can be avoided with DSP filters. If this is the case, why not use arbitrarily steep filters? Is it a computational cost issue, or are there other tradeoffs that make this impractical. This isn't a criticism; I'd just like to know how it works. Thanks again to all the suggestions and discussion - I've learned a lot from you guys, and I really appreciate it! Mark ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/
Re: [Flexradio] Filter measurements
Mark and Bill, I made some measurements and got similar results as Mark. The one thing that confused me was the difference in shape factor between the narrow filters and the wide filters, but I think you just cleared that up for me, Bill. It has to be a function of the bin resolution and the bin bleed. Thanks, Mark for bringing this up, and thanks Bill for clearing my confusion...very interesting. Tom W0IVJ Bill Tracey wrote: I'm not a dsp guru, but I think what you're seeing at the smaller filter sizes is an artifact of spectrum leakage (http://www.dsptutor.freeuk.com/analyser/guidance.html#leakage) from one bin to another.The basic FFT bin size is 11hz, so for a filter 30 hz or below you've only got 3 bins to work with so I think the effects of leakage will be relatively larger than with larger filters since the transition zones cover more bins. I'd think to improve this one would need to band pass filter the signal of interest, then decimate and do an FFT of the decimated signal such that you have a smaller bin width. Might be an interesting hack to try when the passband is small. Regards, Bill (kd5tfd) At 07:01 AM 2/18/2007, Mark Amos wrote: All Here are some filter measurements I did with the Flex-Radio. I'd be interested in anyone else's numbers if there are differences - there may be some configuration or setup option Also, I am interested in knowing if the shape factor is designed to be wider with narrow filters and get tighter as the filter bandwidth increases (or if this is an artifact of my measurements, physics, etc.) I've seen that steep skirts on analog filters cause ringing, but that this can be avoided with DSP filters. If this is the case, why not use arbitrarily steep filters? Is it a computational cost issue, or are there other tradeoffs that make this impractical. This isn't a criticism; I'd just like to know how it works. Thanks again to all the suggestions and discussion - I've learned a lot from you guys, and I really appreciate it! Mark ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/ -- next part -- An HTML attachment was scrubbed... URL: http://mail.flex-radio.biz/pipermail/flexradio_flex-radio.biz/attachments/20070218/19eea4ab/attachment.html ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/
Re: [Flexradio] Filter measurements
On 18/02/07, Bill Tracey [EMAIL PROTECTED] wrote: The basic FFT bin size is 11hz, so for a filter 30 hz or Bill, That is a minor difference, but anyhow, I have a question just for understanding better: If the sampling frequency is 48 kHz and the number of bins is 4096, would the bin be 48000/4096 Hz = 11.72 Hz wide and consequently 44100/4096 Hz = 10.77 Hz wide with 44.1 kHz sampling? Please advice so that I can use correct numbers in my calculations. 73, Ahti OH2RZ ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/ ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/
Re: [Flexradio] Filter measurements
At 08:18 AM 2/18/2007, Tom Thompson wrote: Mark and Bill, I made some measurements and got similar results as Mark. The one thing that confused me was the difference in shape factor between the narrow filters and the wide filters, but I think you just cleared that up for me, Bill. It has to be a function of the bin resolution and the bin bleed. Thanks, Mark for bringing this up, and thanks Bill for clearing my confusion...very interesting. This is somewhat confusing because you are using a conceptual model (shape factor) that is really derived from analog filter design in a domain (digital filters with a lot of samples) that it isn't as well suited to. In analog filters, we talk about how many sections or poles it might have, and knowing that number tells you what the ultimate rolloff is going to be (12 dB/octave per section, eh?). The close in rolloff in a high q filter (say a crystal lattice) is still determined by combining a relatively small number of tuned circuits (albeit high q ones).. Essentially, you stack up a bunch of stagger tuned sections so that you get a bart's head type frequency domain response. You have to worry about interacctions between the tuned circuits (some deliberate, as in a double tuned IF stage, some not), drifting in component parameters, and non-ideal components, so Q isn't infinite. But in the digital domain, you can (easily) build a filter that is the equivalent of 4000 ideal lossless LC tuned networks with infinite Q. Yowza!.. Sure, there are tradeoffs, and there are some peculiarities (roundoff, truncation, etc.) but it's easy to build filters that have desirable properties but which don't fit the usual analog filter metrics and design tradeoffs. For instance, it's pretty easy to build a linear phase filter in the digital world (one that has the same time delay for all frequencies in the passband, which has minimal pulse shape distortion).. something that is quite challenging with analog filters (as anyone who has agonized over group delay properties has dealt with). In the digital world, one could build a dynamically adjusting CW keying envelope that is precisely limited in it's bandwidth to the current keying rate, without ringing. Heck, in the digital world, one can have non-physically realizable filters (i.e. that have an output before the input is applied, in some senses) So the challenge we all face when working with digital filters is that a lot of the traditional measurements and tradeoffs change. Sometimes, a measurement (e.g. swept response) gives results that, if an analog filter were being measured, would mean that the measurement system is broken. Other times, we make measurements that mean something in terms of an analog design (3rd order intercept is a good example) that doesn't necessarily have the same interpretation in the digital world (or more correctly in the hybrid digital analog world). For instance, Spurious Free Dynamic Range is a very different thing when applied to A/Ds than when applied to a LNA and mixer. Shape Factor for filters is another such metric.. It's a shorthand way of describing a certain kind of filter (bandpass with symmetric skirts). A shape factor of 6 is a lot different from 2, but the difference between 1.1 and 1.05 is less so, in terms of practical significance. if you really want to specify adjacent channel rejection, then that's the spec you should be working with (i.e. 3dB bandwidth of X kHz, 60 dB down at X+Y kHz) Also, watch out for stopband bounce.. I work with a variety of analog filters that have fairly steep rolloffs, a deep null at about 2.5-3x cutoff frequency, but that only have 30 dB of rejection far out. Why? Because other stages provide the far away attenuation, but I'm concerned about suppressing the spur at the clock rate from the glitch energy in the dac. The filter might have a fair amount of phase ripple in the passband, but I can compensate that in the equalization in the digital data stream going to the DAC. But, if I were to look at just the digital filter characteristics, it would look terrible. It's the overall system performance that you're concerned about. A similar strategy is used in consumer audio DACs. They take the digital stream at 44.1 kS/s, interpolate it it up to 192k, then run it to the DAC. The analog filter can then use relatively few sections with low Q, because the 192 is almost 10 times the filter cutoff of 20-25 kHz, so you don't need an extreme shape factor to get good performance. Jim, W6RMK ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/
Re: [Flexradio] Filter measurements
Think this is correct. The sampling rate determines how many Hz you can see and the FFT size determines how many bins those Hz are divided into. Bill (kd5tfd) At 11:08 AM 2/18/2007, Ahti Aintila wrote: On 18/02/07, Bill Tracey [EMAIL PROTECTED] wrote: The basic FFT bin size is 11hz, so for a filter 30 hz or Bill, That is a minor difference, but anyhow, I have a question just for understanding better: If the sampling frequency is 48 kHz and the number of bins is 4096, would the bin be 48000/4096 Hz = 11.72 Hz wide and consequently 44100/4096 Hz = 10.77 Hz wide with 44.1 kHz sampling? Please advice so that I can use correct numbers in my calculations. 73, Ahti OH2RZ ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/
Re: [Flexradio] Filter measurements
I wonder how the polyphase option would affect these measurements... Eric Wachsmann FlexRadio Systems -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] radio.biz] On Behalf Of Mark Amos Sent: Sunday, February 18, 2007 7:02 AM To: flexradio@flex-radio.biz Subject: [Flexradio] Filter measurements All Here are some filter measurements I did with the Flex-Radio. I'd be interested in anyone else's numbers if there are differences - there may be some configuration or setup option that I've overlooked that would affect the results. FYI, I'm interested in cases where someone has come up with different results and has some ideas as to why they're different (as opposed to theoretical or hypothetical suggestions without any any substantiating measurements...) I should have been from Missouri. Also, I am interested in knowing if the shape factor is designed to be wider with narrow filters and get tighter as the filter bandwidth increases (or if this is an artifact of my measurements, physics, etc.) I've seen that steep skirts on analog filters cause ringing, but that this can be avoided with DSP filters. If this is the case, why not use arbitrarily steep filters? Is it a computational cost issue, or are there other tradeoffs that make this impractical. This isn't a criticism; I'd just like to know how it works. Thanks again to all the suggestions and discussion - I've learned a lot from you guys, and I really appreciate it! Mark Here are (I think) the salient features of my setup and the test conditions: - PowerSDR v1.9.0 SVN 899 - Edirol FA-66 - 48000 Ks/s - Buffer 2048 - 4096 FFT Bins - Hanning window - AGC off (it didn't seem to make any difference - I assume the S-Meter is before the AGC.) I used an HP 10811 OCXO as the oscillator at 10MHz because it's the cleanest, most stable oscillator I have. Before the test I ran the receive image rejection calibration and calibrated the S-meter with a 50uV and a 1uV signal to get it as accurate as possible. I tuned the receiver up and down in 1 Hz increments and measured the signal level as reported by the Flex S-meter - to the nearest 10th of a dBm. When I finished the series, I repeated the 10Hz and 20Hz filter tests just to see if anything had drifted or changed. The results were the same. Here are the results: 10Hz filter -6dB 32Hz wide -60dB 89Hz wide 2.78 shape factor 20Hz filter -6dB 34Hz wide -60dB 95Hz wide 2.76 shape factor 30Hz filter -6dB 38Hz wide -60dB 102Hz wide 2.68 shape factor 50Hz filter -6dB 51Hz wide -60dB 122Hz wide 2.39 shape factor 100Hz filter -6dB 100Hz wide -60dB 172Hz wide 1.72 shape factor 200Hz filter -6dB 200Hz wide -60dB 272Hz wide 1.36 shape factor 250Hz filter -6dB 250Hz wide -60dB 322Hz wide 1.29 shape factor 500Hz filter -6dB 500Hz wide -60dB 574Hz wide 1.15 shape factor 600Hz filter -6dB 600Hz wide -60dB 674Hz wide 1.12 shape factor 1000Hz filter -6dB 1000Hz wide -60dB 1074Hz wide 1.07 shape factor 2400Hz filter -6dB 2400Hz wide -60dB 2474Hz wide 1.03 shape factor So the filter algorithm is more accurate above 30Hz or so. I suspect that there are rounding errors and other issues that keep them from measuring accurately down below 30Hz. Mark -- next part -- An HTML attachment was scrubbed... URL: http://mail.flex-radio.biz/pipermail/flexradio_flex- radio.biz/attachments/20070218/8fc5a6c0/attachment.html ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/ ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/
Re: [Flexradio] Filter measurements
Jim, Maybe shape factor is the wrong term to use. All I know is that I took a relative low phase noise source, a HP 8640B, and tuned the SDR so that the signal was in the bandpass with the filter set to 1000 Hz. I then retuned the SDR so that the signal was 6db down. I then retuned the SDR again so that the signal was 60 db down. If I divided the 6 db bandpass by the 60 db bandpass, the number was about 1.1. If I followed the same proceedure with the filter set to 100 Hz , the number was 2.7. What causes the difference? Tom W0IVJ Jim Lux wrote: At 08:18 AM 2/18/2007, Tom Thompson wrote: Mark and Bill, I made some measurements and got similar results as Mark. The one thing that confused me was the difference in shape factor between the narrow filters and the wide filters, but I think you just cleared that up for me, Bill. It has to be a function of the bin resolution and the bin bleed. Thanks, Mark for bringing this up, and thanks Bill for clearing my confusion...very interesting. This is somewhat confusing because you are using a conceptual model (shape factor) that is really derived from analog filter design in a domain (digital filters with a lot of samples) that it isn't as well suited to. In analog filters, we talk about how many sections or poles it might have, and knowing that number tells you what the ultimate rolloff is going to be (12 dB/octave per section, eh?). The close in rolloff in a high q filter (say a crystal lattice) is still determined by combining a relatively small number of tuned circuits (albeit high q ones).. Essentially, you stack up a bunch of stagger tuned sections so that you get a bart's head type frequency domain response. You have to worry about interacctions between the tuned circuits (some deliberate, as in a double tuned IF stage, some not), drifting in component parameters, and non-ideal components, so Q isn't infinite. But in the digital domain, you can (easily) build a filter that is the equivalent of 4000 ideal lossless LC tuned networks with infinite Q. Yowza!.. Sure, there are tradeoffs, and there are some peculiarities (roundoff, truncation, etc.) but it's easy to build filters that have desirable properties but which don't fit the usual analog filter metrics and design tradeoffs. For instance, it's pretty easy to build a linear phase filter in the digital world (one that has the same time delay for all frequencies in the passband, which has minimal pulse shape distortion).. something that is quite challenging with analog filters (as anyone who has agonized over group delay properties has dealt with). In the digital world, one could build a dynamically adjusting CW keying envelope that is precisely limited in it's bandwidth to the current keying rate, without ringing. Heck, in the digital world, one can have non-physically realizable filters (i.e. that have an output before the input is applied, in some senses) So the challenge we all face when working with digital filters is that a lot of the traditional measurements and tradeoffs change. Sometimes, a measurement (e.g. swept response) gives results that, if an analog filter were being measured, would mean that the measurement system is broken. Other times, we make measurements that mean something in terms of an analog design (3rd order intercept is a good example) that doesn't necessarily have the same interpretation in the digital world (or more correctly in the hybrid digital analog world). For instance, Spurious Free Dynamic Range is a very different thing when applied to A/Ds than when applied to a LNA and mixer. Shape Factor for filters is another such metric.. It's a shorthand way of describing a certain kind of filter (bandpass with symmetric skirts). A shape factor of 6 is a lot different from 2, but the difference between 1.1 and 1.05 is less so, in terms of practical significance. if you really want to specify adjacent channel rejection, then that's the spec you should be working with (i.e. 3dB bandwidth of X kHz, 60 dB down at X+Y kHz) Also, watch out for stopband bounce.. I work with a variety of analog filters that have fairly steep rolloffs, a deep null at about 2.5-3x cutoff frequency, but that only have 30 dB of rejection far out. Why? Because other stages provide the far away attenuation, but I'm concerned about suppressing the spur at the clock rate from the glitch energy in the dac. The filter might have a fair amount of phase ripple in the passband, but I can compensate that in the equalization in the digital data stream going to the DAC. But, if I were to look at just the digital filter characteristics, it would look terrible. It's the overall system performance that you're concerned about. A similar strategy is used in consumer audio DACs. They take the digital stream at 44.1 kS/s, interpolate it it up to 192k, then run it to
Re: [Flexradio] Filter measurements
At 06:39 PM 2/18/2007, Tom Thompson wrote: Jim, Maybe shape factor is the wrong term to use. All I know is that I took a relative low phase noise source, a HP 8640B, and tuned the SDR so that the signal was in the bandpass with the filter set to 1000 Hz. I then retuned the SDR so that the signal was 6db down. I then retuned the SDR again so that the signal was 60 db down. If I divided the 6 db bandpass by the 60 db bandpass, the number was about 1.1. If I followed the same proceedure with the filter set to 100 Hz , the number was 2.7. What causes the difference? So, we have 1100 Hz for -60 dB bandwidth (roughly) for the 1000 Hz filter case. and 270 Hz for -60 dB bandwidth (roughly) for the 100 Hz filter case. Note that in both cases, the skirt width is about 100 Hz. The actual width will depend on the buffer size and sample rate (as well as any windowing that Frank and Bob have implemented), but, based on your observations, the sampling rate in the frequency domain is around 100Hz. If you're sampling at 48 kHz, I'd guess you're using 512 sample buffers, if 96 kHz, 1024, etc. Did you have spur reduction on or off? To get rid of the peculiarities from that, you can retune the 8640. Although, I don't know if you can tune it in small enough steps. You can lock an 8640, but it doesn't base the synthesis on the reference, as I recall. I think the accuracy is something like a few tens of ppm at best, when locked. The 8640 is pretty quiet far out (say, 20 kHz or more.), but might not be that quiet close in.. The HP catalog only shows phase noise in as far as 2kHz where it's on the order of -110 dBc/Hz.. And, looks like it's in a 40 dB/decade area (comparing the number at 20kHz and 2 kHz), so coming in to 200 Hz would be -70dBc/Hz, and to 20 Hz, to -30 dBc/Hz... Gonna be tough to measure filters with 10-20 Hz transitions with a generator like that. If you have it locked to an external 5 MHz source, it might be quieter, but I don't have the data on that. It would depend on the loop bandwidth and how they do the locking. Aside from measurement technique issues, the basic difference is due to the quantization of the bandpass...Depending on sample rate and buffer size, the filter is some integer number of bins wide..If the number of bins wide for the filter is small, then the shape factor will be not as good as if it is, say, 1000 bins wide. Imagine the filter characteristic as drawn on a piece of graph paper with the points spaced at (sample rate)/(buffer size) Hz apart, with straight lines between points. You can't get any steeper than transitioning in one sample Jim, W6RMK ___ FlexRadio mailing list FlexRadio@flex-radio.biz http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/ FlexRadio Homepage: http://www.flex-radio.com/ FlexRadio Knowledge Base: http://kb.flex-radio.com/