On Tue, Jul 29, 2014 at 5:53 PM, Stefan Oltmanns <stefan-oltma...@gmx.net> wrote:
> Hello, > I was able to create a flowgraph in GRC to demodulate a signal > (low-frequency battery telegram of wireless microphones). Now I started > to port the generated code from Python to C++. > I had to realize that some blocks are Python-only, like the FM > Demodulator. I was able to rebuild the FM Demodulator in C++, for one > exception: The FM demodulator uses optfir, which is implemented in > Python, so it cannot be used in C++. So I replaced it with firdes (I > noticed the parameter difference in transition band end and transition > band width). > Another thing is that the Frequency-Xlating-Filter uses a complex > lowpass, but in C++ I could only find a complex band-pass, so I used a > band-pass with lower frequency 0, is that the same? > > Also it works, the signal is a lot noisier and the result cannot be > decoded in many cases. I think the reason are the different filters. > Could that be the reason? > As I understood, both optfir and firdes create just a bunch of numbers > and that´s it. As my program is not going change the filter parameters > they could be hardcoded in my program, right? > > Best regards > Stefan > You can use gr_filter_design (or in GRC call it with Tools->Filter Design Tool) to show you the filter you designed. But I think your problem is the bandpass filter you created is probably only half of the bandwidth you want, so you're cutting out a large amount of information in your signal. The frequency xlating filter takes in the filter you define and moves it to the center frequency of the incoming signal by a complex multiply. You want this to then be a low-pass filter defined to be symmetric around 0. You can then use the freq_xlating_fir_filter_ccf version of the filter to take in the real taps defined by the lowpass filter. Alternatively, keep with the complex bandpass but define the lower passband edge as -B and the upper edge as +B. Tom
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio