Root Raised Cosine Filter: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
(add example flowgraph; revise parameter descriptions)
(expansion of intro and FSK example)
Line 1: Line 1:
[[Category:Block Docs]]
[[Category:Block Docs]]
The '''Root Raised Cosine Filter''' blocks acts as a matched filter. Its primarily purpose is extracting a known digital signal out of noise; it does this more effectively than a low-pass filter, squelch, or other blocks.
This filter is a convenience wrapper for a FIR filter and a firdes taps generating function.
This filter is a convenience wrapper for a FIR filter and a firdes taps generating function.


Line 27: Line 29:


== Example Flowgraph ==
== Example Flowgraph ==
=== Frequency-Shift Keying ===
If you have demodulated Frequency-Shift Keying signal using a [[Quadrature Demod]] block, and you know the baud rate of the signal, and thus the duration of each symbol, the RRCS is useful for pulling these symbols out of the noise. Instead of square-wave symbols though, the RRCS produces a sinusoidal wave, rising from and falling to 0 and peaking at the center of each symbol. This result is also extremely advantageous for clock recovery, as blocks like [[Symbol Sync]] need to lock onto the center of each symbol in order to reliably extract bits. The RRCS accomplishes both steps at once.
=== Waveform Shaping ===


This flowgraph can be found at [https://github.com/duggabe/gr-morse-code-gen/blob/master/MorseGen_xmt.grc].  Two Root Raised Cosine Filters in series produce a Raised Cosine Filter which is used for keying waveform shaping, thereby reducing key clicks.
This flowgraph can be found at [https://github.com/duggabe/gr-morse-code-gen/blob/master/MorseGen_xmt.grc].  Two Root Raised Cosine Filters in series produce a Raised Cosine Filter which is used for keying waveform shaping, thereby reducing key clicks.

Revision as of 18:11, 1 March 2023

The Root Raised Cosine Filter blocks acts as a matched filter. Its primarily purpose is extracting a known digital signal out of noise; it does this more effectively than a low-pass filter, squelch, or other blocks.

This filter is a convenience wrapper for a FIR filter and a firdes taps generating function.

Parameters

(R): Run-time adjustable

FIR Type
options: [Complex->Complex (Decimating), Complex->Complex (Interpolating), Float->Float (Decimating), Float->Float (Interpolating)]
Decimation or Interpolation
decimation or interpolation factor (depending on which type is chosen above).
Gain (R)
Overall gain of filter (default 1.0)
Sample Rate (R)
Sample rate in samples per second.
Symbol Rate (R)
Symbol rate, must be a factor of sample rate. Typically ((samples/second) / (samples/symbol)).
Alpha (R)
Excess bandwidth factor, also known as alpha. (default: 0.35)
Num Taps (R)
Number of taps (default: 11*samp_rate)

Example Flowgraph

Frequency-Shift Keying

If you have demodulated Frequency-Shift Keying signal using a Quadrature Demod block, and you know the baud rate of the signal, and thus the duration of each symbol, the RRCS is useful for pulling these symbols out of the noise. Instead of square-wave symbols though, the RRCS produces a sinusoidal wave, rising from and falling to 0 and peaking at the center of each symbol. This result is also extremely advantageous for clock recovery, as blocks like Symbol Sync need to lock onto the center of each symbol in order to reliably extract bits. The RRCS accomplishes both steps at once.

Waveform Shaping

This flowgraph can be found at [1]. Two Root Raised Cosine Filters in series produce a Raised Cosine Filter which is used for keying waveform shaping, thereby reducing key clicks.

MorseGen xmt fg.png

Source Files

C++ files
[2]
Header files
TODO
Public header files
Taps creation
Filter definition
Block definition
[3]