Tuesday, August 10, 2021

Re: taps for a Raised Cosine function

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.
>
>

No comments:

Post a Comment