Ich habe einen DDS (0-80 MHz) mit einem FPGA (XC3S400) gebaut, den ich programmieren kann, um fast jede Wellenform zu erzeugen (begrenzte Frequenz durch die Wellenformkomplexität). Nachdem ich wochenlang mit der Herstellung eines geeigneten Tiefpassfilters dafür gekämpft hatte, wurde mir klar, dass es fast unpraktisch ist, einen nahezu perfekten analogen Filter zu bauen, der alle hochfrequenten Bilder (Nyquist) + alle niederfrequenten Aliase entfernen kann (Fotos der Ergebnisse hier ; Behinderungen durch niederfrequente Aliase in DDS, Abbildung-1 hier ).
Jetzt möchte ich mich in einen digitalen Tiefpassfilter (oder vorzugsweise einen abstimmbaren Bandpass) verwandeln, aber ich habe wirklich keine Zeit, DSP von Grund auf zu lernen. Ich habe einige große Unternehmen (Analog Devices, Texas Instruments, ...) nach einem speziellen Digitalfilterprodukt durchsucht, aber meine Suche führt immer zu DSP-Produkten.
Ich möchte wissen, ob es dedizierte digitale Filter mit einer einfachen Schnittstelle gibt (z. B. Frequenzauswahl durch eine Mikrocontroller-Schnittstelle oder so etwas?). Zum Beispiel das gewünschte Filterverhalten über ein serielles/paralleles Wort an das Gerät senden und damit funktioniert es.
Auflage:
Ich habe aus der folgenden Antwort erkannt, dass ich das aktuelle FPGA für meinen Zweck verwenden kann. Ich habe 2 Ansätze ausprobiert: 1- DDS > DAC > ADC > FIR (FPGA) > DAC. dies macht wieder Aliase, die sich auf den DAC beziehen. 2- DDS > FIR (kein externer ADC) > DAC. Das ist nicht schlimm, aber das Problem mit Aliasnamen bleibt bis zu einem gewissen Grad bestehen. Ich suche nach einer guten Ressource / Denkmethode für dieses Problem (die einfachste vielleicht!)
Solche Produkte gibt es auf jeden Fall, aber es wird schwierig für Sie sein, ein Produkt zu finden, das genau zu Ihren Projektanforderungen passt. Für digitale Audiofrequenzfilter können Sie sich QuickFilterTech ansehen . Für höhere Funkfrequenzen (>1 GHz) kommt Hittite in den Sinn.
Wenn Sie jedoch im kleineren 10-MHz-Bereich arbeiten müssen, müssen Sie wahrscheinlich das tun, was die meisten Leute tun: Besorgen Sie sich einen kleineren DSP oder FPGA und verwenden Sie vom Hersteller bereitgestellte Tools, um eine Filter-Firmware zu generieren (alle großen Hersteller haben diese; parametrisches Design mit GUI-Assistenten und unterstützten Bildern).
Tatsächlich könnte der beste (und am häufigsten verwendete) zeitgenössische Ansatz für ein Ein-Chip-Embedded-Design genau das sein: FPGA, das sowohl die MCU als auch den Digitalfilter in derselben Firmware implementiert.
Aktualisieren
Ich habe gerade bemerkt, dass Sie bereits ein Spartan-FPGA in Ihrem Projekt haben. Sie können den Xilinx FIR-Compiler verwenden, um einen festen Filter sofort zu generieren (und den Frequenzschieber für die Abstimmung verwenden), oder Sie können einige der Ansätze für die Implementierung abstimmbarer Filter im FPGA untersuchen (einige sind nicht sehr schwierig, viele Veröffentlichungen). um).
Digitales Filtern klingt wie der einzige Weg, um das zu erreichen, was Sie wollen, und meine zwei Pence sind nicht viel, aber hier geht es.
Es gibt einfache Digitalfilter zweiter Ordnung, die gut und relativ einfach sind, aber auf ein gewisses Maß an Oversampling angewiesen sind, um Bandbreiten zu erreichen, die nahe an der grundlegenden Abtastrate liegen. Oversampling kann erreicht werden, indem zwei aufeinanderfolgende Basisabtastungen genommen und dazwischen Abtastungen erzeugt werden. Ich sage das, weil dies die einzigen digitalen Filter sind, die ich kenne (in meiner begrenzten Fähigkeit zu diesem Thema), die funktionieren könnten.
Hier ist eine, die auf 1-kHz-Sampling basiert und die Erstellung von Oversamples erwähnt, um Stabilität über die 300-Hz-Grenze hinaus ohne Oversampling zu erreichen. Wenn Sie bereits Samples mit einer Rate von 1 GHz haben, funktioniert dieser Filtertyp bis zu vielleicht 200 MHz: -
Scott Seidmann
Aug
Das Photon
Aug
Das Photon