[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] Capturing channel power at desired rate
From: |
John Ackermann N8UR |
Subject: |
[Discuss-gnuradio] Capturing channel power at desired rate |
Date: |
Fri, 1 Dec 2017 15:55:11 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
My current project is analyzing the strength of signals in each channel
of the AM broadcast band from a recording made during the recent solar
eclipse. The goal is to see if the eclipse caused propagation changes
leading to additional stations "popping up" out of the noise. Thanks to
help from Marcus and others, I have the PFB channelizer and main program
flow working nicely, and now I'm trying to optimize the amplitude
measurement.
My prior attempts involved using a Power FFT block and taking the
maximum value of the vector. This always made me a little nervous,
looking for just one point that represents the carrier.
After Googling around I decided to switch tactics and instead of looking
for a single peak, measure the total noise power in a very narrow
channel around the carrier location (for now, 50 Hz). The power will be
almost entirely contained in the carrier, but using total power in that
narrow width seems more straightforward than the FFT approach, as I'm
not too worried about interference signals in this experiment.
I've put together a hier block that uses a complex-to-mag^2 block
followed by a moving average and a keep-1-in-N. My goal is to generate
output records at a set rate, almost always slower than once per second.
Attached are a screenshot and .grc of the block I came up with, and I'd
appreciate any thoughts about whether this is the best way to do it.
Three notes:
1. I know that this is not a calibrated system, and that the dB values
I'm outputting are relative; that's fine for this experiment.
2. I really wish I could figure out how to output the amplitude data as
a string in a text file, rather than as floats in binary; all my
subsequent analysis tools take one-value-per-line string input and it
seems suboptimal at best to do an intermediate float-to-string
conversion before I can use the output data.
3. I want the option to record the raw samples as well as the channel
power, and the selector block is meant to toggle that capability. If
the "save_samples" parameter is set to 0, I don't want that file to be
created at all; if it's 1, then the file should be created and data
dumped to it. If this isn't the right way to accomplish that, I'd
appreciate suggestions. (This will be set at the beginning of the run,
and won't change during runtime.)
Thanks,
John
channel_power_sink.grc.png
Description: PNG image
channel_power_sink.grc
Description: application/gnuradio-grc
- [Discuss-gnuradio] Capturing channel power at desired rate,
John Ackermann N8UR <=