Rational Resampler Block
De Rational Resampler in GNU Radio is een blok dat wordt gebruikt om de samplefrequentie van een signaal te wijzigen door zowel up- als downsampling te combineren. Het maakt het mogelijk om de samplefrequentie met een breukfactor (P/Q) te veranderen, waar P de interpolatiefactor en Q de decimeringsfactor is.
Hoe Werkt Het?
De Rational Resampler werkt in twee stappen:
- Interpolatie (Upsampling):
De samplefrequentie wordt eerst verhoogd met een factor P. Dit wordt gedaan door nullen in te voegen tussen de samples van het originele signaal.
Voor een ingangssignaal met een frequentie fs wordt de samplefrequentie na interpolatie P ⋅ fs .
Het signaalbevat nu nog steeds ongewenste frequentiecomponenten door de nullen. - Filtering
Het geschaalde signaal wordt door een FIR-filter gehaald, dat frequenties buiten het gewenste bereik verwijdert. Dit voorkomt aliasing wanneer het signaal wordt gedecimeerd. In de default stand wordt een low pass filter gebruikt dat afsnijdt op 0.4 maal de sample rate. De 0.4 heet ook wel de Fractional Bandwidth. - Decimatie (Downsampling):
Daarna wordt de samplefrequentie verlaagd door slechts elke Q-de sample van het signaal te behouden. Na deze stap is de uiteindelijke samplefrequentie:
fuit = P/Q ⋅ fs
Tijdens deze twee stappen wordt een anti-aliasingfilter toegepast om ervoor te zorgen dat ongewenste frequentiecomponenten worden onderdrukt.
Parameters:
- Interpolatiefactor (P): Het aantal nieuwe samples dat wordt toegevoegd tussen bestaande samples.
- Decimatiefactor (Q): Het aantal samples dat wordt verwijderd tijdens de neerwaartse bemonstering.
- Filtertaps: FIR-filtercoëfficiënten die worden gebruikt voor anti-aliasing.
Voordelen:
- Flexibiliteit: Het kan samplefrequenties aanpassen met een breukverhouding (P/Q), wat handig is als directe conversie niet mogelijk is.
- Efficiëntie: Combineert interpolatie, filtering en decimatie in één blok, waardoor de rekenefficiëntie toeneemt.
- Breed Toepassingsbereik: Wordt gebruikt in SDR, communicatie, en DSP-systemen voor samplefrequentieconversie.
Voorbeeld:
Stel dat je een ingangssignaal hebt met een samplefrequentie van 1 MHz en je wilt deze aanpassen naar 2.5 MHz. Dit vereist een conversiefactor van:
Fuit / fin= 2.5 / 1 = 5 / 2
Je stelt de Rational Resampler in met:
- Interpolatiefactor (P) = 5
- Decimatiefactor (Q) = 2
Het blok zal:
- De samplefrequentie verhogen naar 5 MHz door interpolatie.
- De samplefrequentie verlagen naar 2.5 MHz door decimatie.
Belangrijke Notities:
- Een goed ontworpen anti-aliasingfilter is essentieel om ongewenste frequenties te onderdrukken.
- De Rational Resampler kan complexe (IQ) signalen verwerken, wat vaak nodig is in SDR-toepassingen.
- Het biedt betere nauwkeurigheid en flexibiliteit dan afzonderlijke interpolatie- en decimatieblokken.
Dit maakt de Rational Resampler een krachtig hulpmiddel voor sample frequentie conversie in DSP en SDR.
Meer informatie over de Rational Resampler in de GNU Radio Site.