discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: taps for a Raised Cosine function


From: Kristoff
Subject: Re: taps for a Raised Cosine function
Date: Tue, 10 Aug 2021 22:44:44 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

Hi Fabian,

Thanks, i'll try both options and compair them.


I remember from my books on DSP it is possible to combine multiple consecutive FIT filters into one, so I did a little bit of more research on this.


I found (*) that -as convolution as associative- this implies this:

(( f * h1) * h2) = f * (h1 * h2)



So I guess I just use firdes.root_raised_cosine to calculate the RRC and then "numpy.convolute()" it with itself, I should get the RC.

Feel free to correct me if I am wrong. :-)



(*) https://dsp.stackexchange.com/questions/20194/concept-of-combining-multiple-fir-filters-into-1-fir-filter


Kristoff



On 10.08.21 21:01, Fabian Schwartau wrote:
Hi Kristoff,
You can just put an additional RRC in front of it or you can calculate the tabs by folding die tabs of the RRC with themself. There is probably a numpy function to do that. Have not tested any of that, but both ways should do the trick.

Fabian

Am 10. August 2021 20:44:05 MESZ schrieb Kristoff <kristoff@skypro.be>:

    Hi all,


    I am playing around with PSK demodulation, now doing a small project
    trying to decode the slow-speed PSK data on the 198 KHz carrier of BBC
    radio 4.

    The specs are here:
    http://downloads.bbc.co.uk/rd/pubs/reports/1984-19.pdf  
<http://downloads.bbc.co.uk/rd/pubs/reports/1984-19.pdf>

    According the document (page 2 of the document, page 8 of the PDF), the
    system uses a shaping-filter of cos(pi * f * Td / 4).
    (with Td = 50)

    If I am correct, this is in fact a raised-cosine filter with beta = 1.
    https://en.wikipedia.org/wiki/Raised-cosine_filter  
<https://en.wikipedia.org/wiki/Raised-cosine_filter>

    So the document seems to specify a raised-cosine filter, both on the
    transmit and receive side; so not a ROOT raised-cosine as is used in
    most PSK systems.

    Question:|
    How do I create the filter-taps for the Polyphase clock sync block for a
    raised-cosine filter?

    I found a function firdes.root_raised_cosine, but no firdes.raised_cosine?

    Is there a way to easily convert the taps of a RRC filter to those of a
    RC filter? (RC = RRC^2, so square the value of all taps?)



    Any other ideas?
    - put an additional RRC low-pass filter in front of the Polyphase
    clock-sync block?
    - use firdes.pm_remez() ?



    Thanks in advance,


    Kr.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]