[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] Sub-Band Tuner / Carrier Detect / AGC
From: |
mgray |
Subject: |
[Discuss-gnuradio] Sub-Band Tuner / Carrier Detect / AGC |
Date: |
Mon, 17 Jan 2005 22:00:37 -0700 (MST) |
I'm creating a sub-band tuner to channelize a wider IF stream. One use
would be to listen to FRS radio channels that are spaced 25KHz apart. I
created the following code snippet:
# Filter around FM modulated channel (16KHz wide) = 2 * (5KHz
Deviation + 3KHz Max Audio Freq)
channel_coeffs = gr.firdes.low_pass (1.0, if_rate, 10e3, 6e3,
gr.firdes.WIN_HANN)
# Select desired channel (two channels above the center freq)
ddc = gr.freq_xlating_fir_filter_ccf (if_decim, channel_coeffs, 50000,
if_rate)
fm_demod = gr.quadrature_demod_cf (0.1)
# Filter the output audio (change to band pass to remove CTCSS tone)
width_of_transition_band = audio_rate / 8
audio_coeffs = gr.firdes.low_pass (1.0, if_rate, 8e3, 4e3,
gr.firdes.WIN_HANN)
audio_filter = gr.fir_filter_fff (audio_decimation, audio_coeffs)
# Connect the chain
fg.connect (ddc, fm_demod)
fg.connect (fm_demod, audio_filter)
return ((ddc, 0), (audio_filter, 0))
I've set the USRP IF to the center channel in the desired band. Using the
freq_xlating_fir_filter_ccf method, I should be able to go up and down in
25KHz step to listen to each channel. This works great, except I hear the
image channel, as well as the desired channel at the same time. So I hear
+/- 50KHz in the above example. Should the freq_xlating_fir_filter_ccf
method just select the upper or lower side band signal based on the sign
of center_freq.
-----------------------------------
Is there a way to access the magnitude of the channel to setup a
squelch function? How would that work with this chain of blocks? Is
there another block that would go in the chain to zero the output if the
I*I + Q*Q of the signal is below a threshold?
---------------------------
Is there a block that impliments AGC for AM signals?
------------------------
With the latest CVS code block, there is now a sequence of aU characters
printing out while the flow graph runs. Do these denote under runs in one
or more subsystems?
----------------------
I have a number of off air sample signals now captured. I'll post them to
my web site in the next day or two. These include:
Multiple narrow band FM signals (In the same IF pass band)
Airband AM ATIS recording
Multiple NDB (Aircraft) siganls (In the same IF pass band)
Upper and lower SSB signals
Still working on getting NTSC and GPS capture
Sorry for so many questions in the same message. Should I break them down
to one question per e-mail to make it easier to follow threads?
Hopefully these are of use to others on the board.
- [Discuss-gnuradio] Sub-Band Tuner / Carrier Detect / AGC,
mgray <=