Thursday 19 January 2017

Gnuradio Moving_average_ff

Gnuradio. gr: Filter gnuradio. gr. fftfilterccc (int Dezimierung. std :: vectorlt (grcomplex. std :: allocatorlt (grcomplex) gt) gt Hähne. int NTHREADS 1) rarr grfftfiltercccsptr Schnelle FFT-Filter mit grcomplex Eingang, grcomplex Ausgang und grcomplex Hähne. Grfftfiltercccsptr. Siedlungen (self. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) grfftfiltercccsptr. Taps (Selbst) rarr std :: vectorlt (grcomplex, std :: allocatorlt (grcomplex) gt) gt gnuradio. gr. Fftfilterfff (int Dezimation floatvektor taps int nthreads 1) rarr grfftfilterfffsptr Schnelles FFT-Filter mit Float-Eingang, Float-Ausgang und Float-Taps. Filter-Verzögerungs-Kombinationsblock. Der Block nimmt einen oder zwei Float-Stream und gibt einen komplexen Strom. Wenn nur ein Floatstrom eingegeben wird, ist der reale Ausgang eine verzögerte Version dieses Eingangs und der imaginäre Ausgang der gefilterte Ausgang. Wenn zwei Schwimmer mit dem Eingang verbunden sind, dann ist der reale Ausgang die verzögerte Version des ersten Eingangs, und der imaginäre Ausgang ist der gefilterte Ausgang. Die Verzögerung in dem realen Pfad berücksichtigt die Gruppenverzögerung, die durch den Filter im imaginären Pfad eingeführt wird. Die Filteranschlüsse müssen vor dem Initialisieren dieses Bausteins berechnet werden. Gnuradio. gr. firfilterccc (int Dezimierung. std :: vectorlt (grcomplex. std :: allocatorlt (grcomplex) gt) gt Taps) rarr grfirfiltercccsptr FIR-Filter mit grcomplex Eingang, grcomplex Ausgang und grcomplex Hähne. Grfirfiltercccsptr. Siedlungen (self. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) grfirfiltercccsptr. Taps (Selbst) rarr std :: vectorlt (grcomplex, std :: allocatorlt (grcomplex) gt) gt gnuradio. gr. Firfilterccf (int dezimierung floatvector taps) rarr grfirfilterccfsptr FIR Filter mit grcomplex Eingang, grcomplex Ausgang und float taps. Grfirfilterccfsptr. Ansaugsysteme (Selbstschwimmerhähne) grfirfilterccfsptr. Taps (selbst) rarr floatvector gnuradio. gr. Firfilterfcc (int dezim. Std :: vectorlt (grcomplex std :: allocatorlt (grcomplex) gt) gt taps) rarr grfirfilterfccsptr FIR-Filter mit Float-Eingang, grcomplex-Ausgang und grcomplex-Abzweigungen. Grfirfilterfccsptr. Siedlungen (Selbststd: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) grfirfilterfccsptr. Taps (Selbst) rarr std :: vectorlt (grcomplex, std :: allocatorlt (grcomplex) gt) gt gnuradio. gr. Firfilterfff (int decimation floatvector taps) rarr grfirfilterfffsptr FIR-Filter mit Float-Eingang, Float-Ausgang und Float-Taps. FIR-Filter mit Float-Eingang, kurzem Ausgang und Schwimmern. Grfirfilterfsfsptr. Ansaugsysteme (Selbstschwimmern) grfirfilterfsfsptr. Taps (selbst) rarr floatvector gnuradio. gr. Firfilterscc (int dezim. Std :: vectorlt (grcomplex. std :: allocatorlt (grcomplex) gt) gt taps) rarr grfirfiltersccsptr FIR-Filter mit kurzem Eingang, grcomplex-Ausgang und grcomplex-Anzapfungen. Grfirfiltersccsptr. Siedlungen (Selbststd: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) grfirfiltersccsptr. Taps (Selbst) rarr std :: vectorlt (grcomplex, std :: allocatorlt (grcomplex) gt) gt gnuradio. gr. Fractionalinterpolatorcc (float phaseshift, float interpratio) rarr grfractionalinterpolatorccsptr Interpolierender mmse-Filter mit grcomplexem Eingang, grcomplex-Ausgang. Grfractionalinterpolatorccsptr. Interpratio (selbst) rarr float grfractionalinterpolatorccsptr. Mu (selbst) rarr float grfractionalinterpolatorccsptr. Setinterpratio (selbst. Float interpratio) grfractionalinterpolatorccsptr. Setmu (Selbstschwimmer mu) gnuradio. gr. Fractionalinterpolatorff (float phaseshift. Float interpratio) rarr grfractionalinterpolatorffsptr Interpolation von mmse-Filtern mit Float-Eingang, Float-Ausgang. Grfractionalinterpolatorffsptr. Interpratio (selbst) rarr float grfractionalinterpolatorffsptr. Mu (selbst) rarr float grfractionalinterpolatorffsptr. Setinterpratio (selbst. Float interpratio) grfractionalinterpolatorffsptr. Setmu (Selbstschwimmer mu) gnuradio. gr. freqxlatingfirfilterccc (int Dezimierung. std :: vectorlt (grcomplex. std :: allocatorlt (grcomplex) gt) gt Hähne. Doppel centerfreq. Doppel samplingfreq) rarr grfreqxlatingfirfiltercccsptr FIR-Filter mit Frequenzumsetzung kombiniert mit grcomplex Eingang, grcomplex Ausgang und grcomplex tippt Diese Klasse effizient Kombiniert eine Frequenzumsetzung (typischerweise eine Umwandlung von 8220 nach unten) mit einem FIR-Filter (typischerweise Tiefpaß) und Dezimierung. Es eignet sich ideal für ein 8220-Kanal-Auswahlfilter8221 und kann effizient verwendet werden, um ein Schmalband-Signal aus einem breiten Bandbreite-Eingang auszuwählen und zu dezimieren. Verwendet ein einzelnes Eingabefeld, um ein einzelnes Ausgabearray zu erzeugen. Zusätzliche Ein - und Ausgänge werden ignoriert. Konstruieren Sie ein FIR-Filter mit den angegebenen Taps und eine zusammengesetzte Frequenzübersetzung, die die Centerfreq auf Null Hz verschiebt. Die Frequenzumsetzung erfolgt logisch vor dem Filtervorgang. Grreinqxlatingfirfiltercccsptr. Setcenterfreq (selbst. Double centerfreq) grfreqxlatingfirfiltercccsptr. Siedlungen (selbst std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. freqxlatingfirfilterccf (int Dezimierung. floatvector tippt. Doppel centerfreq. Doppel samplingfreq) rarr grfreqxlatingfirfilterccfsptr FIR-Filter mit Frequenzumsetzung kombiniert mit grcomplex Eingang, grcomplex Ausgang und Schwimmerhähne Diese Klasse effizient eine Frequenzumsetzung kombiniert (typischerweise 8220down conversion8221) mit einem FIR-Filter (in der Regel niedrig - Pass) und Dezimierung. Es eignet sich ideal für ein 8220-Kanal-Auswahlfilter8221 und kann effizient verwendet werden, um ein Schmalband-Signal aus einem breiten Bandbreite-Eingang auszuwählen und zu dezimieren. Verwendet ein einzelnes Eingabefeld, um ein einzelnes Ausgabearray zu erzeugen. Zusätzliche Ein - und Ausgänge werden ignoriert. Konstruieren Sie ein FIR-Filter mit den angegebenen Taps und eine zusammengesetzte Frequenzübersetzung, die die Centerfreq auf Null Hz verschiebt. Die Frequenzumsetzung erfolgt logisch vor dem Filtervorgang. Grfreqxlatingfirfilterccfsptr. Setcenterfreq (selbst. Double centerfreq) grfreqxlatingfirfilterccfsptr. Siedlungen (Selbstschwimmern) gnuradio. gr. freqxlatingfirfilterfcc (int Dezimierung. std :: vectorlt (grcomplex. std :: allocatorlt (grcomplex) gt) gt Hähne. Doppel centerfreq. Doppel samplingfreq) rarr grfreqxlatingfirfilterfccsptr FIR-Filter mit Frequenzumsetzung kombiniert mit float-Eingang, grcomplex Ausgang und grcomplex tippt Diese Klasse effizient Kombiniert eine Frequenzumsetzung (typischerweise eine Umwandlung von 8220 nach unten) mit einem FIR-Filter (typischerweise Tiefpaß) und Dezimierung. Es eignet sich ideal für ein 8220-Kanal-Auswahlfilter8221 und kann effizient verwendet werden, um ein Schmalband-Signal aus einem breiten Bandbreite-Eingang auszuwählen und zu dezimieren. Verwendet ein einzelnes Eingabefeld, um ein einzelnes Ausgabearray zu erzeugen. Zusätzliche Ein - und Ausgänge werden ignoriert. Konstruieren Sie ein FIR-Filter mit den angegebenen Taps und eine zusammengesetzte Frequenzübersetzung, die die Centerfreq auf Null Hz verschiebt. Die Frequenzumsetzung erfolgt logisch vor dem Filtervorgang. Grfreqxlatingfirfilterfccsptr. Setcenterfreq (selbst. Double centerfreq) grfreqxlatingfirfilterfccsptr. Siedlungen (Selbststd: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. freqxlatingfirfilterfcf (int Dezimierung. floatvector tippt. Doppel centerfreq. Doppel samplingfreq) rarr grfreqxlatingfirfilterfcfsptr FIR-Filter mit Frequenzumsetzung kombiniert mit float-Eingang, grcomplex Ausgang und Schwimmerhähne Diese Klasse effizient eine Frequenzumsetzung kombiniert (typischerweise 8220down conversion8221) mit einem FIR-Filter (in der Regel niedrig - Pass) und Dezimierung. Es eignet sich ideal für ein 8220-Kanal-Auswahlfilter8221 und kann effizient verwendet werden, um ein Schmalband-Signal aus einem breiten Bandbreite-Eingang auszuwählen und zu dezimieren. Verwendet ein einzelnes Eingabefeld, um ein einzelnes Ausgabearray zu erzeugen. Zusätzliche Ein - und Ausgänge werden ignoriert. Konstruieren Sie ein FIR-Filter mit den angegebenen Taps und eine zusammengesetzte Frequenzübersetzung, die die Centerfreq auf Null Hz verschiebt. Die Frequenzumsetzung erfolgt logisch vor dem Filtervorgang. Grfreqxlatingfirfilterfcfsptr. Setcenterfreq (selbst. Double centerfreq) grfreqxlatingfirfilterfcfsptr. Siedlungen (Selbstschwimmern) gnuradio. gr. freqxlatingfirfilterscc (int Dezimierung. std :: vectorlt (grcomplex. std :: allocatorlt (grcomplex) gt) gt Hähne. Doppel centerfreq. Doppel samplingfreq) rarr grfreqxlatingfirfiltersccsptr FIR-Filter mit Frequenzumsetzung kombiniert mit kurzen Eingang, grcomplex Ausgang und grcomplex tippt Diese Klasse effizient Kombiniert eine Frequenzumsetzung (typischerweise eine Umwandlung von 8220 nach unten) mit einem FIR-Filter (typischerweise Tiefpaß) und Dezimierung. Es eignet sich ideal für ein 8220-Kanal-Auswahlfilter8221 und kann effizient verwendet werden, um ein Schmalband-Signal aus einem breiten Bandbreite-Eingang auszuwählen und zu dezimieren. Verwendet ein einzelnes Eingabefeld, um ein einzelnes Ausgabearray zu erzeugen. Zusätzliche Ein - und Ausgänge werden ignoriert. Konstruieren Sie ein FIR-Filter mit den angegebenen Taps und eine zusammengesetzte Frequenzübersetzung, die die Centerfreq auf Null Hz verschiebt. Die Frequenzumsetzung erfolgt logisch vor dem Filtervorgang. Grreinqxlatingfirfiltersccsptr. Setcenterfreq (selbst. Double centerfreq) grfreqxlatingfirfiltersccsptr. Siedlungen (Selbststd: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. freqxlatingfirfilterscf (int Dezimierung. floatvector tippt. Doppel centerfreq. Doppel samplingfreq) rarr grfreqxlatingfirfilterscfsptr FIR-Filter mit Frequenzumsetzung kombiniert mit kurzen Eingang, grcomplex Ausgang und Schwimmerhähne Diese Klasse effizient eine Frequenzumsetzung kombiniert (typischerweise 8220down conversion8221) mit einem FIR-Filter (in der Regel niedrig - Pass) und Dezimierung. Es eignet sich ideal für ein 8220-Kanal-Auswahlfilter8221 und kann effizient verwendet werden, um ein Schmalband-Signal aus einem breiten Bandbreite-Eingang auszuwählen und zu dezimieren. Verwendet ein einzelnes Eingabefeld, um ein einzelnes Ausgabearray zu erzeugen. Zusätzliche Ein - und Ausgänge werden ignoriert. Konstruieren Sie ein FIR-Filter mit den angegebenen Taps und eine zusammengesetzte Frequenzübersetzung, die die Centerfreq auf Null Hz verschiebt. Die Frequenzumsetzung erfolgt logisch vor dem Filtervorgang. Grfreqxlatingfirfilterscfsptr. Setcenterfreq (selbst. Double centerfreq) grfreqxlatingfirfilterscfsptr. Siedlungen (Selbstschwimmern) gnuradio. gr. Hilbertfc (unsigned int ntaps) rarr grhilbertfcsptr realer Ausgang wird entsprechend verzögert eingegeben. Imaginären Ausgang ist hilbert gefiltert (90 Grad Phasenverschiebung) Version des Eingangs. Gnuradio. gr. Rarr griirfilterffdsptr IIR-Filter mit Float-Eingang, Float-Ausgang und Double-Taps Dieser Filter verwendet die Direct-Form-I-Implementierung, in der die Feed-Forward-Taps und die Feedbacks enthalten sind. Die Eingabe und Ausgabe genügt einer Differenzgleichung der Form yn - sum ak yn - k sum bk xn - k mit der entsprechenden rationalen Systemfunktion. Beachten Sie, dass einige Texte die Systemfunktion mit einem im Nenner definieren. Wenn Sie diese Konvention verwenden, müssen Sie die Feedback-Taps negieren. Griirfilterffdsptr. Dict. cc Wörterbuch:: doublevector:: Deutsch - Englisch - Übersetzung. Interpolation FIR-Filter mit grcomplex-Eingang, grcomplex-Ausgang und grcomplex-Anzapfungen. Interpfirfilterccc (int interpolation. std :: vectorlt (grcomplex. std :: allocatorlt (grcomplex) gt) gt taps) rarr grinterpfirfiltercccsptr Grinterpfirfiltercccsptr. Siedlungen (Selbststd: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Interpfirfilterccf (int interpolation floatvector taps) rarr grinterpfirfilterccfsptr Interpolierende FIR-Filter mit grcomplex Eingang, grcomplex Ausgang und float taps. Grinterpfirfilterccfsptr. Siedlungen (Selbstschwimmern) gnuradio. gr. Interpfirfilterfcc (int interpolation) std :: vectorlt (grcomplex. std :: allocatorlt (grcomplex) gt) gt taps) rarr grinterpfirfilterfccsptr Interpolierende FIR-Filter mit Float-Eingang, grcomplex-Ausgang und grcomplex-Abzweigungen. Grinterpfirfilterfccsptr. Siedlungen (Selbststd: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Interpfirfilterfff (int interpolation floatvector taps) rarr grinterpfirfilterfffsptr Interpolierende FIR-Filter mit Float-Eingang, Float-Ausgang und Float-Taps. Grinterpfirfilterfffsptr. Siedlungen (Selbstschwimmern) gnuradio. gr. Interpfirfilterfsf (int interpolation floatvector taps) rarr grinterpfirfilterfsfsptr Interpolierende FIR-Filter mit Float-Eingang, kurzem Ausgang und Float-Taps. Grinterpfirfilterfsfsptr. Siedlungen (Selbstschwimmern) gnuradio. gr. Interflirfilterscc (int interpolation) std :: vectorlt (grcomplex. std :: allocatorlt (grcomplex) gt) gt taps) rarr grinterpfirfiltersccsptr Interpolierende FIR-Filter mit kurzem Eingang, grcomplexem Ausgang und grcomplex-Anzapfungen. Grinterpfirfiltersccsptr. Siedlungen (selbst std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Rationalresamplerbaseccc (int interpolation int dezimierung std :: vectorlt (grcomplex. std :: allocatorlt (grcomplex) gt) gt taps) rarr grrationalresamplerbasecccsptr Rational Resampling Mehrphasen-FIR-Filter mit grcomplex Eingang, grcomplex Ausgang und grcomplex Abzweigungen. Grrationalresamplerbasecccsptr. Siedlungen (selbst std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Rationalresamplerbaseccf (int interpolation int dezimierung floatvector taps) rarr grrationalresamplerbaseccfsptr Rational Resampling Mehrphasen-FIR-Filter mit grcomplex-Eingang, grcomplex-Ausgang und Float-Taps. Grrationalresamplerbaseccfsptr. Siedlungen (Selbstschwimmern) gnuradio. gr. Rationalresamplerbasefcc (int interpolation int dezimierung std :: vectorlt (grcomplex. std :: allocatorlt (grcomplex) gt) gt taps) rarr grrationalresamplerbasefccsptr Rational Resampling Mehrphasen-FIR-Filter mit Float-Eingang, grcomplex-Ausgang und grcomplex-Anzapfungen. Grrationalresamplerbasefccsptr. Siedlungen (selbst std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Rationalresamplerbasefff (int interpolation int decimation floatvector taps) rarr grrationalresamplerbasefffsptr Rational Resampling Mehrphasen-FIR-Filter mit Float-Eingang, Float-Ausgang und Float-Taps. Grrationalresamplerbasefffsptr. Siedlungen (Selbstschwimmern) gnuradio. gr. Rationalresamplerbasefsf (int interpolation int decimation floatvector taps) rarr grrationalresamplerbasefsfsptr Rational Resampling Mehrphasen-FIR-Filter mit Float-Eingang, kurzem Ausgang und Float-Taps. Grrationalresamplerbasefsfsptr. Siedlungen (Selbstschwimmern) gnuradio. gr. Rationalresamplerbasescc (int interpolation int dezimierung std :: vectorlt (grcomplex. std :: allocatorlt (grcomplex) gt) gt taps) rarr grrationalresamplerbasesccsptr Rational Resampling Mehrphasen-FIR-Filter mit kurzem Eingang, grcomplexem Ausgang und grcomplex-Anzapfungen. Grrationalresamplerbasesccsptr. Siedlungen (selbst std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Singlepoleiirfiltercc (double alpha unsigned int vlen 1) rarr grsinglepoleiirfilterccsptr einpoliges IIR-Filter mit komplexem Eingang, komplexer Ausgang Die Eingabe und Ausgabe erfüllen eine Differenzgleichung der Form yn - (1-alpha) yn-1 alpha xn mit dem entsprechenden rationalen System Funktion Beachten Sie, dass einige Texte die Systemfunktion mit einem im Nenner definieren. Wenn Sie diese Konvention verwenden, müssen Sie den Feedback-Hahn negieren. Grsinglepoleiirfilterccsptr. Siedlungen (self. Double alpha) gnuradio. gr. Singlepoleiirfilterff (double alpha unsigned int vlen 1) rarr grsinglepoleiirfilterffsptr einpoliges IIR-Filter mit Float-Eingang, Float-Ausgang Input und Output erfüllen eine Differenzgleichung der Form yn - (1-alpha) yn-1 alpha xn mit dem entsprechenden rationalen System Funktion Beachten Sie, dass einige Texte die Systemfunktion mit einem im Nenner definieren. Wenn Sie diese Konvention verwenden, müssen Sie den Feedback-Hahn negieren. Grsinglepoleiirfilterffsptr. Siedlungen (self. Double alpha) gnuradio. gr. Rarr grmovingaverageccsptr output ist die Bewegungssumme der letzten N Abtastwerte, skaliert durch den Skalenfaktor maxiter beschränkt, wie lange wir ohne Spülen des Akkumulators gehen Dies ist notwendig, um numerische Instabilität für Float und zu vermeiden Komplex. Grmovingaverageccsptr. Länge (Selbst-) rarr int grmovingaverageccsptr. (Selbst) rarr grcomplex grmovingaverageccsptr. Setlengthandscale (selbst int länge grcomplex scale) gnuradio. gr. Rarr grmovingaverageffsptr output ist die Bewegungssumme der letzten N Abtastwerte, skaliert durch den Skalenfaktor maxiter begrenzt, wie lange wir gehen, ohne den Akkumulator zu spülen Dies ist notwendig, um numerische Instabilität für Float und zu vermeiden Komplex. Ausgang ist die Bewegungssumme der letzten N Abtastwerte, skaliert durch den Skalenfaktor maxiter begrenzt, wie lange wir gehen, ohne den Akkumulator zu spülen Dies ist notwendig, um numerische Instabilität für Float und komplexe zu vermeiden. Ausgang ist die Bewegungssumme der letzten N Abtastwerte, skaliert durch den Skalenfaktor maxiter begrenzt, wie lange wir gehen, ohne den Akkumulator zu spülen Dies ist notwendig, um numerische Instabilität für Float und komplexe zu vermeiden. Grmovingaveragesssptr. Länge (Selbst) rarr int grmovingaveragesssptr. Maßstab (selbst) rarr short grmovingaveragesssptr. Setlengthandscale (int. Länge, kurze Skala) gnuradio. gr. Pfbarbresamplerccf (floatvector taps. Unsigned int filterize 32) rarr grpfbarbresamplerccfsptr Polyphasenfilterbank beliebiger Resampler mit grcomplex Eingang, grcomplex Ausgang und float taps. Dieser Block nimmt einen Signalstrom auf und führt eine beliebige Neuabtastung durch. Die Wiederabtastrate kann jede reelle Zahl sein. Die Neuabtastung wird durch Konstruieren von Filtern durchgeführt, wobei die Interpolationsrate ist. Wir berechnen dann wo. Mit und. Können wir eine rationale Wiederabtastung durchführen, wobei eine rationale Zahl nahe der Eingangsrate liegt, wo wir Filter haben, und wir durchlaufen sie als eine Polyphasenfilterbank mit einem Schritt, so daß. Um die willkürliche Rate zu erhalten, wollen wir zwischen zwei Punkten interpolieren. Für jeden Wert out nehmen wir einen Ausgang aus dem aktuellen Filter. Und den nächsten Filter und dann linear interpolieren zwischen den beiden auf der Grundlage der realen Neuabtastrate, die wir wollen. Die lineare Interpolation liefert uns nur eine Annäherung an die angegebene reale Abtastrate. Der Fehler ist ein Quantisierungsfehler zwischen den beiden Filtern, die wir als Interpolationspunkte verwendet haben. Zu diesem Zweck die Anzahl der Filter. Bestimmt den Quantisierungsfehler um so größer. Je kleiner der Lärm. Sie können für ein bestimmtes Rauschniveau entwerfen, indem Sie die Filtergröße (Parameter) einstellen. Die Größe defaults zu 32 Filtern, die ungefähr so ​​gut ist, wie die meisten Implementierungen Notwendigkeit. Der Trick mit dem Entwerfen dieses Filters ist, wie man die Hähne des Prototypfilters spezifiziert. Wie der PFB-Interpolator werden die Taps unter Verwendung der interpolierten Filterrate spezifiziert. In diesem Fall ist diese Rate die Eingangsabtastrate multipliziert mit der Anzahl der Filter in der Filterbank, die auch die Interpolationsrate ist. Alle anderen Werte sollten relativ zu dieser Rate sein. Zum Beispiel, für einen 32-Filter beliebigen Resampler und mit dem GNU Radio8217s firdes Dienstprogramm, um den Filter zu bauen, bauen wir ein Tiefpassfilter mit einer Abtastrate von. Eine 3-dB-Bandbreite und eine Übergangsbandbreite von. Wir können auch die zu verwendende Out-of-Band-Dämpfung angeben. Und die Filter-Fenster-Funktion (ein Blackman-Harris-Fenster in diesem Fall). Der erste Eingang ist die Verstärkung des Filters, die wir hier als Interpolationsrate () angeben. Die Theorie hinter diesem Block finden Sie in Kapitel 7.5 des folgenden Buches. Erstellen Sie die polyphase filterbank arbitray resampler. Drucken Sie alle Filterbank-Taps auf dem Bildschirm. Grpfbarbresamplerccfsptr. Setrate (Eigenschwimmer) gnuradio. gr. Pfbchannelizerccf (unsigned int numchans floatvektor taps float oversamplerate 1) rarr grpfbchannelizerccfsptr Mehrphasenfilterbank-Kanalisierer mit grcomplex Eingang, grcomplex Ausgang und float taps. Dieser Baustein nimmt komplexe Eingaben auf und kanalisiert ihn auf Kanäle gleicher Bandbreite. Jeder der resultierenden Kanäle wird auf die neue Rate dezimiert, die die Eingangsabtastrate dividiert durch die Anzahl der Kanäle ist. Der PFB-Kanalisierungscode nimmt die oben erzeugten Taps und baut einen Satz von Filtern auf. Das Set enthält die Anzahl der Filter und jedes Filter enthält ceil (taps. size () decim) Anzahl der Taps. Jeder Abgriff aus dem Filterprototyp wird nacheinander in den nächsten Filter eingefügt. Wenn alle Eingangsabgriffe verwendet werden, werden die verbleibenden Filter in der Filterbank mit 08217s ausgefüllt, um sicherzustellen, dass jeder Filter die gleiche Anzahl von Anzapfungen aufweist. Jedes Filter arbeitet unter Verwendung der grfir Filterklassen von GNU Radio, die den Eingangsstrom an nimmt und die innere Produktberechnung ausführt, wo die Anzahl der Filterabgriffe liegt. Um dies effizient in der GNU-Radio-Struktur zu bewältigen, muß jeder Filtereingang aus seinem eigenen Eingangsstrom kommen. Daher muss der Kanalisierer mit Streams versehen sein, in denen der Eingangsstrom entschachtelt wurde. Dies geschieht am einfachsten mit dem grstreamtostreams-Block. Die Ausgabe wird dann als Vektor erzeugt, wobei der Index in dem Vektor der nächste Abtastwert aus dem dritten Kanal ist. Dies wird am einfachsten gehandhabt, indem die Ausgabe an einen Grvectortostreams-Block gesendet wird, um die Konvertierung und die Weitergabe von Datenströmen auszuführen. Die Eingabe - und Ausgabeformatierung erfolgt über einen hierblock2 mit dem Namen pfbchannelizerccf. Dies kann in einem einzigen Stream und gibt Ströme basierend auf dem oben beschriebenen Verhalten. Die Filter des Filter8217s sollten auf der Eingangsabtastrate basieren. Zum Beispiel, mit dem GNU Radio8217s firdes Dienstprogramm zum Bau von Filtern, bauen wir ein Tiefpassfilter mit einer Abtastrate von. Eine 3-dB-Bandbreite und eine Übergangsbandbreite von. Wir können auch die zu verwendende Out-of-Band-Dämpfung angeben. Und die Filter-Fenster-Funktion (ein Blackman-Harris-Fenster in diesem Fall). Die erste Eingabe ist die Verstärkung des Filters, die wir hier als Einheit angeben. Der Filterausgang kann auch übersteuert werden. Die Überabtastrate ist das Verhältnis der tatsächlichen Ausgangsabtastrate zur normalen Ausgangsabtastrate. Sie muss rational mit der Anzahl der Kanäle als N i für i in 1, N zusammenhängen, die eine Abtastrate von fs N, fs ergibt, wobei fs die Eingangsabtastrate und N die Anzahl der Kanäle ist. Beispielsweise beträgt für 6 Kanäle mit fs 6000 Hz die normale Rate 6000 6 1000 Hz. Zulässige Überabtastraten sind 6 6, 6 5, 6 4, 6 3, 6 2 und 6 1, wobei die Ausgangsabtastrate eines 6 1 - Überproportionsverhältnisses 6000 Hz oder 6-fach der normalen 1000 Hz beträgt. Eine Rate von 6 5 1,2, so dass die Ausgangsleistung 1200 Hz betragen würde. Die Theorie hinter diesem Block finden Sie in Kapitel 6 des folgenden Buches. Bauen Sie den Polyphasenfilterbank-Dezimator auf. Beispielsweise beträgt für 6 Kanäle mit fs 6000 Hz die normale Rate 6000 6 1000 Hz. Zulässige Überabtastraten sind 6 6, 6 5, 6 4, 6 3, 6 2 und 6 1, wobei die Ausgangsabtastrate eines 6 1 - Überproportionsverhältnisses 6000 Hz oder 6-fach der normalen 1000 Hz beträgt. Setzt die Filtertabellen filterbank8217s mit dem neuen Prototypfilter gnuradio. gr zurück. Pfbclocksyncccf (double sps float loopbw floatvektor taps unsigned int filterize 32. float initphase 0. float maxratedeviation 1.5 int osps 1) rarr grpfbclocksyncccfsptr Zeitsynchronizer mit Hilfe von Polyphasenfilterbanken. Dieser Block führt eine Zeitsynchronisation für PAM-Signale durch, indem die Ableitung des gefilterten Signals minimiert wird, was wiederum das SNR maximiert und ISI minimiert. Dieser Ansatz arbeitet durch das Einrichten von zwei Filterbänken, wobei eine Filterbank das signalgestützte Pulsforming-Filter (wie ein Wurzel-Cosinus-Filter) enthält, wobei jeder Zweig der Filterbank eine andere Phase des Filters enthält. Die zweite Filterbank enthält die Ableitungen der Filter in der ersten Filterbank. Denken Sie dies im Zeitbereich, enthält die erste Filterbank Filter, die eine sinc Form zu ihnen haben. Wir wollen das zu analysierende Ausgangssignal genau an der Spitze der Sinusform ausrichten. Die Ableitung des sinc enthält eine Null am Maximalpunkt von sinc (sinc (0) 1, sinc (0) 8217 0). Weiterhin ist der Bereich um den Nullpunkt relativ linear. Wir nutzen diese Tatsache, um das Fehlersignal zu erzeugen. Wenn das Signal aus den Ableitungsfiltern für das i-te Filter din ist und das Ausgangssignal des angepassten Filters xin ist, berechnen wir den Fehler als: en (Re Re Im Im) 2.0 Diese Gleichung misst den Fehler im Real - und Imaginärteil . Es gibt zwei Gründe, die wir mit dem Signal selbst multiplizieren. Zuerst, wenn das Symbol positiv oder negativ sein könnte, aber wir wollen, dass der Fehlerausdruck immer sagt, dass wir in die gleiche Richtung gehen, je nachdem, auf welcher Seite des Nullpunktes wir sind. Das Vorzeichen von xin passt den Fehlerterm an, um dies zu tun. Zweitens skaliert die Größe von xin den Fehlerterm in Abhängigkeit von der Amplitude des Symbols8217s, so dass größere Signale uns einen stärkeren Fehlerterm geben, weil wir mehr Vertrauen in diesen Symbolwert haben. Das Verwenden der Größe von xin anstelle von nur dem Vorzeichen ist besonders gut für Signale mit niedrigem SNR. Das Fehlersignal, en, gibt uns einen Wert proportional zu, wie weit weg von dem Nullpunkt sind wir in der Ableitung Signal. Wir wollen diesen Wert auf Null setzen, also richten wir eine Schleife zweiter Ordnung ein. Wir haben zwei Variablen für diese Schleife dk ist die Filterzahl in der Filterbank, die wir eingeschaltet sind, und drate ist die Rate, die wir durch die Filter im stationären Zustand fahren. Das heißt, aufgrund der natürlichen Taktdifferenzen zwischen dem Sender und dem Empfänger stellt drate die Differenz dar und würde die Filterphasenpfade durchlaufen, um den Empfänger gesperrt zu halten. Wenn man dies als PLL zweiter Ordnung betrachtet, ist der Drat die Frequenz und dk die Phase. So aktualisieren wir drate und dk unter Verwendung der Standardschleifengleichungen, die auf zwei Fehlersignalen, dalpha und dbeta basieren. Wir haben diese beiden Werte für ein kritisch gedämpftes System festgelegt, so dass wir im Blockkonstruktor einfach nach 8220gain, 8221 fragen, die dalpha ist, während dbeta gleich (gain2) ist. 4. Die Block8217s-Parameter sind: Build the polyphase Filterbank-Zeitsynchronisator. Gibt die Schleifenverstärkung alpha zurück. Gibt die Schleifenverstärkung beta zurück. Grpfbclocksyncccfsptr Getchanneltaps (interner Kanal) rarr floatvector Gibt die Taps des angepassten Filters für einen bestimmten Kanal zurück Gibt die aktuelle Taktrate zurück. Grpfbclocksyncccfsptr. Getdampingfactor (self) rarr float Gibt den Schleifen-Dämpfungsfaktor zurück. Grpfbclocksyncccfsptr. Getdiffchanneltaps (self. Int channel) rarr floatvector Gibt die Taps im abgeleiteten Filter für einen bestimmten Kanal grpfbclocksyncccfsptr zurück. Getdifftaps (self) rarr dummy5 Gibt alle Taps des abgeleiteten Filters grpfbclocksyncccfsptr zurück. Getdifftapsasstring (self) rarr string Gibt die abgeleiteten Filter-Taps als formatierten String zurück, um grpfbclocksyncccfsptr zu drucken. Getloopbandwidth (self) rarr float Gibt die Schleifenbandbreite zurück. Gibt alle Taps des angepassten Filters grpfbclocksyncccfsptr zurück. Gettapsasstring (self) rarr string Rückgabe der Taps als formatierter String zum Drucken Setzt die Schleifenverstärkung alpha. Set8217s der Schleifenfilter8217s alpha gain Parameter. Dieser Wert sollte eigentlich nur durch Einstellen der Schleifenbandbreite und des Dämpfungsfaktors eingestellt werden. Stellen Sie die Schleifenverstärkung beta ein. Set8217s die Schleife filter8217s Beta-Verstärkung Parameter. Dieser Wert sollte eigentlich nur durch Einstellen der Schleifenbandbreite und des Dämpfungsfaktors eingestellt werden. Den Dämpfungsfaktor einstellen. Stellen Sie den Dämpfungsfaktor der Schleife filter8217s auf. Der Dämpfungsfaktor sollte für kritisch gedämpfte Systeme sqrt (2) 2,0 sein. Setzen Sie es auf alles andere nur, wenn Sie wissen, was Sie tun. Es muss eine Zahl zwischen 0 und 1 sein. Wenn ein neuer Dämpfungsfaktor gesetzt ist, werden die Gewinne, alpha und beta der Schleife durch einen Aufruf von updategains () neu berechnet. Stellen Sie die Schleifenbandbreite ein. Setzen Sie die Schleife filter8217s bandwidth auf. Diese sollte zwischen 2pi 200 und 2pi 100 (in rads samp) liegen. Es muss auch eine positive Zahl sein. Wenn ein neuer Dämpfungsfaktor gesetzt ist, werden die Verstärkungen alpha und beta der Schleife durch einen Aufruf von updategains () neu berechnet. Legen Sie die maximale Abweichung von 0 drate kann grpfbclocksyncccfsptr haben. (P. grfirccf) gt) gt ourfilter) Setzt die Filterabgriffe filterbank8217s mit dem neuen Prototypfilter gnuradio. gr zurück. Pfbclocksyncfff (double sps float gain, floatvector taps, unsigned int filtern 32. float initphase 0. float maxratedeviation 1.5) rarr grpfbclocksyncfffsptr Zeitsynchronizer mit Hilfe von Polyphasenfilterbanken. Dieser Block führt eine Zeitsynchronisation für PAM-Signale durch, indem die Ableitung des gefilterten Signals minimiert wird, was wiederum das SNR maximiert und ISI minimiert. Dieser Ansatz arbeitet durch das Einrichten von zwei Filterbänken, wobei eine Filterbank das signalgestützte Pulsforming-Filter (wie ein Wurzel-Cosinus-Filter) enthält, wobei jeder Zweig der Filterbank eine andere Phase des Filters enthält. Die zweite Filterbank enthält die Ableitungen der Filter in der ersten Filterbank. Denken Sie dies im Zeitbereich, enthält die erste Filterbank Filter, die eine sinc Form zu ihnen haben. Wir wollen das zu analysierende Ausgangssignal genau an der Spitze der Sinusform ausrichten. Die Ableitung des sinc enthält eine Null am Maximalpunkt von sinc (sinc (0) 1, sinc (0) 8217 0). Weiterhin ist der Bereich um den Nullpunkt relativ linear. Wir nutzen diese Tatsache, um das Fehlersignal zu erzeugen. Wenn das Signal aus den Ableitungsfiltern für das i-te Filter din ist und das Ausgangssignal des angepassten Filters xin ist, berechnen wir den Fehler als: en (Re Re Im Im) 2.0 Diese Gleichung misst den Fehler im Real - und Imaginärteil . Es gibt zwei Gründe, die wir mit dem Signal selbst multiplizieren. Zuerst, wenn das Symbol positiv oder negativ sein könnte, aber wir wollen, dass der Fehlerausdruck immer sagt, dass wir in die gleiche Richtung gehen, je nachdem, auf welcher Seite des Nullpunktes wir sind. Das Vorzeichen von xin passt den Fehlerterm an, um dies zu tun. Zweitens skaliert die Größe von xin den Fehlerterm in Abhängigkeit von der Amplitude des Symbols8217s, so dass größere Signale uns einen stärkeren Fehlerterm geben, weil wir mehr Vertrauen in diesen Symbolwert haben. Das Verwenden der Größe von xin anstelle von nur dem Vorzeichen ist besonders gut für Signale mit niedrigem SNR. Das Fehlersignal, en, gibt uns einen Wert proportional zu, wie weit weg von dem Nullpunkt sind wir in der Ableitung Signal. Wir wollen diesen Wert auf Null setzen, also richten wir eine Schleife zweiter Ordnung ein. Wir haben zwei Variablen für diese Schleife dk ist die Filterzahl in der Filterbank, die wir eingeschaltet sind, und drate ist die Rate, die wir durch die Filter im stationären Zustand fahren. Das heißt, aufgrund der natürlichen Taktdifferenzen zwischen dem Sender und dem Empfänger stellt drate die Differenz dar und würde die Filterphasenpfade durchlaufen, um den Empfänger gesperrt zu halten. Wenn man dies als PLL zweiter Ordnung betrachtet, ist der Drat die Frequenz und dk die Phase. So aktualisieren wir drate und dk unter Verwendung der Standardschleifengleichungen, die auf zwei Fehlersignalen, dalpha und dbeta basieren. Wir haben diese beiden Werte für ein kritisch gedämpftes System festgelegt, so dass wir im Blockkonstruktor einfach nach 8220gain, 8221 fragen, die dalpha ist, während dbeta gleich (gain2) ist. 4. Die Block8217s-Parameter sind: Build the polyphase filterbank timing synchronizer. grpfbclocksyncfffsptr. channeltaps ( self . int channel ) rarr floatvector Returns the taps of the matched filter grpfbclocksyncfffsptr. diffchanneltaps ( self . int channel ) rarr floatvector Returns the taps in the derivative filter Print all of the filterbank taps of the derivative filter to screen. Print all of the filterbank taps to screen. Set the gain value alpha for the control loop Set the gain value beta for the control loop Set the maximum deviation from 0 drate can have grpfbclocksyncfffsptr. settaps ( self . floatvector taps . dummy5 ourtaps . std::vectorlt(p. grfirfff . std::allocatorlt(p. grfirfff)gt)gt ourfilter ) Resets the filterbank8217s filter taps with the new prototype filter gnuradio. gr. pfbdecimatorccf ( unsigned int decim . floatvector taps . unsigned int channel ) rarr grpfbdecimatorccfsptr Polyphase filterbank bandpass decimator with grcomplex input, grcomplex output and float taps. This block takes in a signal stream and performs interger down - sampling (decimation) with a polyphase filterbank. The first input is the integer specifying how much to decimate by. The second input is a vector (Python list) of floating-point taps of the prototype filter. The third input specifies the channel to extract. By default, the zeroth channel is used, which is the baseband channel (first Nyquist zone). The parameter specifies which channel to use since this class is capable of bandpass decimation. Given a complex input stream at a sampling rate of and a decimation rate of. the input frequency domain is split into channels that represent the Nyquist zones. Using the polyphase filterbank, we can select any one of these channels to decimate. The output signal will be the basebanded and decimated signal from that channel. This concept is very similar to the PFB channelizer (see grpfbchannelizerccf) where only a single channel is extracted at a time. The filter8217s taps should be based on the sampling rate before decimation. For example, using the GNU Radio8217s firdes utility to building filters, we build a low-pass filter with a sampling rate of. a 3-dB bandwidth of and a transition bandwidth of. We can also specify the out-of-band attenuation to use. and the filter window function (a Blackman-harris window in this case). The first input is the gain of the filter, which we specify here as unity. The PFB decimator code takes the taps generated above and builds a set of filters. The set contains number of filters and each filter contains ceil(taps. size() decim) number of taps. Each tap from the filter prototype is sequentially inserted into the next filter. When all of the input taps are used, the remaining filters in the filterbank are filled out with 08217s to make sure each filter has the same number of taps. The theory behind this block can be found in Chapter 6 of the following book. Build the polyphase filterbank decimator. Resets the filterbank8217s filter taps with the new prototype filter gnuradio. gr. pfbinterpolatorccf ( unsigned int interp . floatvector taps ) rarr grpfbinterpolatorccfsptr Polyphase filterbank interpolator with grcomplex input, grcomplex output and float taps. This block takes in a signal stream and performs interger up - sampling (interpolation) with a polyphase filterbank. The first input is the integer specifying how much to interpolate by. The second input is a vector (Python list) of floating-point taps of the prototype filter. The filter8217s taps should be based on the interpolation rate specified. That is, the bandwidth specified is relative to the bandwidth after interpolation. For example, using the GNU Radio8217s firdes utility to building filters, we build a low-pass filter with a sampling rate of. a 3-dB bandwidth of and a transition bandwidth of. We can also specify the out-of-band attenuation to use, ATT, and the filter window function (a Blackman-harris window in this case). The first input is the gain, which is also specified as the interpolation rate so that the output levels are the same as the input (this creates an overall increase in power). The PFB interpolator code takes the taps generated above and builds a set of filters. The set contains number of filters and each filter contains ceil(taps. size() interp) number of taps. Each tap from the filter prototype is sequentially inserted into the next filter. When all of the input taps are used, the remaining filters in the filterbank are filled out with 08217s to make sure each filter has the same number of taps. The theory behind this block can be found in Chapter 7.1 of the following book. Build the polyphase filterbank interpolator. Print all of the filterbank taps to screen. Resets the filterbank8217s filter taps with the new prototype filterGNU radio examples scripts fail with ImportError: No module named gnu radio ( jmroot (Joshua Root) ) First some preliminaries: MAC OS X: 10.7.5 (Lion) Installation of Macports went great sudo port install gnuradio went great port installed command shows python27 and gnu radio installed and active no gnuradio or gnuradio related files in python site-packages directories. or anywhere in python directory trees including opt local. usr. users, System. etc. opt local lib has lots of gnudynlib. BTW. are the dynamic libraries only for compiling with C C, etc or do they provide modules for python interpreter Here is the env: (6) (26) comment:1 Changed 4 ago by jmroot (Joshua Root) Please remember to Cc the maintainer, and to preview and use WikiFormatting. comment:2 Changed 4 ago by michaelld (Michael Dickens) What do the following return: comment:3 : description Changed 4 ago by mikem43190 First some preliminaries: MAC OS X: 10.7.5 (Lion) Installation of Macports went great sudo port install gnuradio went great port installed command shows python27 and gnu radio installed and active no gnuradio or gnuradio related files in python site-packages directories. or anywhere in python directory trees including opt local. usr. users, System. etc. opt local lib has lots of gnudynlib. BTW. are the dynamic libraries only for compiling with C C, etc or do they provide modules for python interpreter Here is the env: comment:4 Changed 4 ago by mikem43190 comment:11 Changed 4 ago by mikem43190 Besides the previous cannot import scipy when trying to get GRC to work gnu radio-companion I get no module named pygtk. Is there a README Im missing. I hate to have multiple problems, especially as a beginner, wherein Im not setting env correctly. For example I have seen reference to the DYLDLIBRARYPATH but after searching cannot tell if I should set it and to what. Here is the sudo port installed list currently: comment:12 Changed 4 ago by michaelld (Michael Dickens) OK looks like 1 step forward. I think theres a dependency or 2 missing Ill check it tonight. comment:13 Changed 4 ago by michaelld (Michael Dickens) First, a few comments, for beginners or experts using MacPorts and or GNU Radio: Once installed by MacPorts, all of GNU Radio should just work without further setting your shell environment variables. In your shell environment, PYTHONPATH should point to the pythonX. Y directory, which is generally inside of lib. So, for example, the first entry of opt local lib should really be opt local lib python2.7 ditto for the rest. MacPorts Python 2.7 already sets its internal PYTHONPATH to include opt local lib python2.7 and opt local Library Frameworks Python. framework Versions 2.7 lib python2.7, so you dont need to include those in your shell environments PYTHONPATH. And, really, you dont even need to set the PYTHONPATH at all if youre just using MacPorts provided Python. You need it only for non-MacPorts provided installs. I - highly - recommend against using DYLDLIBRARYPATH or any other DYLD shell environment variables except for testing purposes (e. g. make test in some projects, after building but before installing). If you set the DYLDLIBRARYPATH in your shell environment, you are likely to mess up program execution somewhere down the line and its - really - hard to debug these sorts of issues. comment:14 Changed 4 ago by michaelld (Michael Dickens) py-scipy is not a dependency of GNU Radio since it is used for runtime examples only Ill add it in the next checkin, which should be real soon now with the forthcoming 3.6.3 release. In the mean time, you can install it yourself via sudo port install py27-scipy. comment:15 Changed 4 ago by michaelld (Michael Dickens) From what you wrote, it sounds like gnuradio-companion is not executing correctly, yes Can you attach the terminal output from trying to execute it comment:16 Changed 4 ago by mikem43190 I cant find gnuradio-companion except for a configuration file. No. grc, no gnuradio-companion, no grc. py, no gnuradio-companion. pyc, etc. Of course entering grc or grc-companion in terminal (Bash) results in command not found. Somehow I think the gunradio port is somehow skipping lots of stuff So since I dont have a list of the files that should be installed and where and Im new to GNU Radio and Python I have to operate on assumptions such as there should be an executable as mentioned above. Being new I tried the sample scripts but since they all fail (except those that work with generic python in mac) with something or another its a little harder. Damit. to help us both figure out why I have deinstalled all ports and macports and reinstalled cleanly without changing anything. I have attached files as follows: env. txt env gt env. txt opt-list. txt ls - Rl opt gt opt-list. txt python sys path. txt in python, print sys. path python-v. txt python - v gt python-v. txt sudo-installed. txt sudo port installed gtsudo-installed. txt which-python. txt which python gt which-python. txt Hope this helps us both. I really dont understand what in my MAC OS environment would cause so much not to work. Thanks for all the help, Sincerely Michael comment:17 Changed 4 ago by michaelld (Michael Dickens) I think that will solve your issues. comment:18 Changed 4 ago by michaelld (Michael Dickens) The Mac OS X terminal shell (bash) environment is just as complex as that for any other UNIX and or Linux. Apple has added a few environment variables to assist in making use of Frameworks for debug purposes. But, these same environment variables can really mess things up during normal use of Mac OS X. The variables are different than those used in Linux, but the same concept exists there and is actually a little more awkward to use. So, why do shells cause so much not to work Flexibility and debugging, I suppose. comment:19 Changed 4 ago by mikem43190 Anbody trying to install GNURadio. this thread might help comment:20 Changed 4 ago by michaelld (Michael Dickens) Excellent Youre welcome thanks for your efforts and timely responses. GNU Radio 3.6.3 was released yesterday I just updated this port in r101353 to include this new release as well as add a runtime dependency on py-scipy. : TracTickets .


No comments:

Post a Comment