0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA數(shù)字信號(hào)處理-FIR濾波器及AM解調(diào)

冬至子 ? 來(lái)源:maobitcoder ? 作者:maoarmstrong ? 2023-10-17 11:43 ? 次閱讀

1.AM解調(diào)概論

AM解調(diào)中一般的方式是進(jìn)行全波整流或者半波整流,然后經(jīng)過(guò)一個(gè)低通濾波器即可。

本文為數(shù)字AM解調(diào)。本文采取全波整流加FIR低通濾波器的方式進(jìn)行解調(diào)。

在數(shù)字通信系統(tǒng)中一般全波整流實(shí)現(xiàn)方式就是取絕對(duì)值,半波整流就是直接舍棄負(fù)值。

下面一小段代碼就是取絕對(duì)值的。

圖片

那為什么取絕對(duì)值,然后經(jīng)過(guò)低通濾波器就能出來(lái)包絡(luò)信號(hào)呢?關(guān)于此處的理論推導(dǎo)。去看書(shū)吧。

2.FIR濾波器概述

FIR濾波器是什么樣的結(jié)構(gòu),有什么樣的特性等等等為了避免大家煩我在這里就不抄課本了。接下來(lái)我們就簡(jiǎn)單的理解下FIR濾波器。

注意本說(shuō)法僅僅為新手入門(mén)了解。直觀了解FIR濾波器的特性。許多定義和概念可能存在紕漏。希望廣大讀者理性參考。

FIR濾波器的結(jié)構(gòu)如下:

圖片

我們假設(shè)圖中的n就為10。接下來(lái)我們拋開(kāi)FIR這個(gè)概念。假設(shè)我就是要實(shí)現(xiàn)10個(gè)數(shù)字取個(gè)平均數(shù)。那么我只要讓h(0),h(1),h(2)……h(huán)(9),均為0.1。那么每個(gè)數(shù)字進(jìn)來(lái)被乘以0.1。然后把10個(gè)數(shù)字加起來(lái)。這就是一個(gè)均值濾波。(這種把兩組數(shù)據(jù)對(duì)應(yīng)相乘然后再加載一起的操作就是卷積的概念)。

依據(jù)經(jīng)驗(yàn)我們知道,當(dāng)取的數(shù)字越多(即n越大)這個(gè)濾波器的輸出值就更穩(wěn)定。消耗的資源對(duì)應(yīng)著也會(huì)越多。

上述舉得例子為求均值。但是假設(shè)說(shuō)我們現(xiàn)在要做更復(fù)雜的需求,比如濾除一定頻率的波形。那就需要更加準(zhǔn)確的計(jì)算各個(gè)參數(shù)。所幸我們生于偉大的時(shí)代,有很多工具可以代替我們算出更合適的抽頭系數(shù)。例如matlab的FDATools以及FilterSolutions 2015。

3. FIR濾波器 參數(shù)計(jì)算

打開(kāi)Filter Solutions這個(gè)軟件。選擇數(shù)字濾波器(這個(gè)工具功能十分強(qiáng)大,可以設(shè)計(jì)有源,無(wú)源,微帶線(xiàn),數(shù)字等等不同種類(lèi)的濾波器)。

打開(kāi)軟件設(shè)置如下,因?yàn)樵賹?shí)現(xiàn)的時(shí)候FIR濾波器采用了完全對(duì)稱(chēng)的結(jié)構(gòu)。我們選擇一個(gè)125階的FIR濾波器。選一個(gè)合適的窗函數(shù),至于不同的窗函數(shù)有什么不同的性能表現(xiàn)在這里就不贅述了。

圖片

由于我們的包絡(luò)信號(hào)是1M。選擇一個(gè)2M的低通濾波器。

圖片

左上方有各種選項(xiàng),我們來(lái)查看一下它的頻率響應(yīng)。看起來(lái)還是可以的。

然后點(diǎn)擊右上角的SynthesizeFilter、

點(diǎn)擊選項(xiàng)卡的Vec選項(xiàng),然后Copy Num/Den ,FIR濾波器的抽頭系數(shù)就復(fù)制到剪切板上了。

圖片

4. FIR濾波器 XILINX IP核實(shí)現(xiàn)

添加一個(gè)FIR濾波器,把系數(shù)復(fù)制進(jìn)去(注意只復(fù)制括號(hào)內(nèi)的內(nèi)容)。

圖片

可以看到左側(cè)的頻率相應(yīng)圖。其中紅色線(xiàn)為設(shè)計(jì)的參數(shù)。藍(lán)色線(xiàn)為經(jīng)過(guò)定點(diǎn)量化后的抽頭系數(shù)的頻率響應(yīng)。圖中的橫坐標(biāo)為歸一化的頻率(不知道什么叫歸一化頻率的自行百度),縱坐標(biāo)為幅度的衰減??梢钥吹皆O(shè)計(jì)效果還是可以的。

濾波器也可以選則抽取或者插值或者希爾伯特或者最簡(jiǎn)單的單速率濾波器。關(guān)于抽取核插值我會(huì)在后面更新的文章中寫(xiě)出,希望大家持續(xù)關(guān)注。

為了節(jié)約資源我們可以設(shè)計(jì)成抽取濾波器。但是為了避免造成大家的困惑,本文中依然采用單速率的濾波器。

我們進(jìn)行第二頁(yè)的設(shè)置

圖片

時(shí)鐘頻率核輸入采樣頻率均為100M。

接下來(lái)進(jìn)行第三頁(yè)的設(shè)置最上面的哪個(gè)就是抽頭系數(shù)的相關(guān)設(shè)置,在這里我們可以調(diào)節(jié)量化(定點(diǎn)化)的參數(shù)。從而讓前文提到的紅線(xiàn)和藍(lán)線(xiàn)更接近(即實(shí)現(xiàn)效果更接近設(shè)計(jì)效果)。當(dāng)然調(diào)節(jié)不同的參數(shù),其資源占用和性能表現(xiàn)也會(huì)有所不同。下面的幾個(gè)選項(xiàng)大家可以自行研究。

圖片

后面兩頁(yè)內(nèi)容是設(shè)計(jì)實(shí)現(xiàn)時(shí)的面積或者速度優(yōu)化啥的。大家自行研究在本設(shè)計(jì)中不做修改。

在implementation Details (實(shí)現(xiàn)細(xì)節(jié)中)可以看到數(shù)據(jù)的輸出格式。其中定點(diǎn)數(shù)為[34:17]。也可以發(fā)現(xiàn)資源占用為63個(gè)乘法器,因?yàn)楸驹O(shè)計(jì)中的FIR濾波器為對(duì)稱(chēng)結(jié)構(gòu)。所以可以省下一半的資源。

圖片

這樣我們的FIR濾波器就基本設(shè)計(jì)完成了。

5. FIR濾波器 XILINX 實(shí)現(xiàn)與驗(yàn)證。

這部分的代碼比較簡(jiǎn)單,我們講上節(jié)課的Modout信號(hào)接出來(lái)后進(jìn)行取絕對(duì)值。得到的信號(hào)是20bit的。我們選取其中的高16bit送入FIR濾波器。然后就可以得到輸出了,F(xiàn)IR濾波器的輸入輸出信號(hào)還有一些有效,握手信號(hào)之類(lèi)的,大家自行查閱手冊(cè)了解。

接下來(lái)進(jìn)行仿真,仿真中我們把FIR輸出的[33:17]位單獨(dú)拿出來(lái)進(jìn)行顯示即可。最終效果如圖。

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598930
  • 低通濾波器
    +關(guān)注

    關(guān)注

    13

    文章

    470

    瀏覽量

    47212
  • 數(shù)字信號(hào)處理

    關(guān)注

    15

    文章

    539

    瀏覽量

    45691
  • fir濾波器
    +關(guān)注

    關(guān)注

    1

    文章

    93

    瀏覽量

    18960
  • 半波整流
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    12424
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    DSP in FPGAFIR濾波器(一)

    FIR 濾波器廣泛應(yīng)用于數(shù)字信號(hào)處理中,主要功能就是將不感興趣的信號(hào)濾除,留下有用信號(hào)。##全并
    發(fā)表于 06-27 10:02 ?9056次閱讀

    DSP in FPGAFIR濾波器(二)

    FIR 濾波器廣泛應(yīng)用于數(shù)字信號(hào)處理中,主要功能就是將不感興趣的信號(hào)濾除,留下有用信號(hào)。##脈動(dòng)
    發(fā)表于 06-30 09:47 ?2054次閱讀

    【參考書(shū)籍】基于FPGA數(shù)字信號(hào)處理——高亞軍著

    `《基于FPGA數(shù)字信號(hào)處理》是一本有關(guān)如何在FPGA上實(shí)現(xiàn)數(shù)字信號(hào)處理的著作。本書(shū)以Xili
    發(fā)表于 04-24 09:33

    什么是fir數(shù)字濾波器 什么叫FIR濾波器

    什么是fir數(shù)字濾波器 Part 1: Basics1.1 什么是FIR濾波器?FIR 濾波器
    發(fā)表于 01-16 09:42 ?1.7w次閱讀

    基于FPGAFIR數(shù)字濾波器的優(yōu)化設(shè)計(jì)

    目前數(shù)字濾波器的硬件實(shí)現(xiàn)方法通常采用專(zhuān)用DSP芯片或FPGA,本文從FIR濾波器的系數(shù)考慮,采用CSD編碼,對(duì)FIR
    發(fā)表于 08-16 10:54 ?3763次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>FIR</b><b class='flag-5'>數(shù)字濾波器</b>的優(yōu)化設(shè)計(jì)

    基于MATLAB與FPGAFIR濾波器設(shè)計(jì)與仿真

    數(shù)字濾波器數(shù)字信號(hào)處理領(lǐng)域內(nèi)的重要組成部分。FIR濾波器又以其嚴(yán)格的線(xiàn)性相位及穩(wěn)定性高等特性被廣泛應(yīng)用。本文結(jié)合MATLAB工具軟件介紹了
    發(fā)表于 09-25 11:34 ?120次下載
    基于MATLAB與<b class='flag-5'>FPGA</b>的<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>設(shè)計(jì)與仿真

    數(shù)字信號(hào)處理FPGA實(shí)現(xiàn)

    結(jié)構(gòu)類(lèi)型的fir數(shù)字濾波器fpga實(shí)現(xiàn)、不同結(jié)構(gòu)fft的fpga實(shí)現(xiàn)、數(shù)字正交下變頻的fpga
    發(fā)表于 12-23 11:07 ?45次下載

    輕松設(shè)計(jì)數(shù)字FIR濾波器

    FIR濾波 FIR(Finite Impulse Response)濾波器:有限長(zhǎng)單位沖激響應(yīng)濾波器,又稱(chēng)為非遞歸型
    發(fā)表于 06-07 08:51 ?13次下載
    輕松設(shè)計(jì)<b class='flag-5'>數(shù)字</b><b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>

    基于FPGAFIR數(shù)字濾波器設(shè)計(jì)方案解析

    實(shí)現(xiàn)數(shù)字化是控制系統(tǒng)的重要發(fā)展方向,而數(shù)字信號(hào)處理已在通信、語(yǔ)音、圖像、自動(dòng)控制、雷達(dá)、軍事、航空航天等領(lǐng)域廣泛應(yīng)用。數(shù)字信號(hào)處理方法通常涉
    發(fā)表于 10-29 10:21 ?2次下載
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>FIR</b><b class='flag-5'>數(shù)字濾波器</b>設(shè)計(jì)方案解析

    基于FPGA的硬件加速FIR流水結(jié)構(gòu)濾波器實(shí)現(xiàn)、設(shè)計(jì)及驗(yàn)證

    。 隨著數(shù)字通信技術(shù)的快速發(fā)展,高質(zhì)量的信息處理對(duì)濾波器的性能和資源占有量提出了更高的要求。有限沖擊響應(yīng)(FIR)數(shù)字有限沖激響應(yīng)
    發(fā)表于 11-18 06:15 ?1399次閱讀
    基于<b class='flag-5'>FPGA</b>的硬件加速<b class='flag-5'>器</b>的<b class='flag-5'>FIR</b>流水結(jié)構(gòu)<b class='flag-5'>濾波器</b>實(shí)現(xiàn)、設(shè)計(jì)及驗(yàn)證

    FPGAFIR抽取濾波器設(shè)計(jì)教程

    FPGA實(shí)現(xiàn)抽取濾波器比較復(fù)雜,主要是因?yàn)樵?b class='flag-5'>FPGA中缺乏實(shí)現(xiàn)乘法運(yùn)算的有效結(jié)構(gòu),現(xiàn)在,FPGA中集成了硬件乘法器,使FPGA
    發(fā)表于 04-28 11:50 ?1219次閱讀
    <b class='flag-5'>FPGA</b>的<b class='flag-5'>FIR</b>抽取<b class='flag-5'>濾波器</b>設(shè)計(jì)教程

    基于FIR濾波器結(jié)構(gòu)實(shí)現(xiàn)級(jí)聯(lián)型信號(hào)處理器FPGA的設(shè)計(jì)

    數(shù)字信號(hào)處理領(lǐng)域,濾波器無(wú)疑是個(gè)非常重要的環(huán)節(jié)。而在數(shù)字濾波器中,有限脈沖響應(yīng)(FIR濾波器
    的頭像 發(fā)表于 04-22 08:07 ?5534次閱讀
    基于<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>結(jié)構(gòu)實(shí)現(xiàn)級(jí)聯(lián)型<b class='flag-5'>信號(hào)</b><b class='flag-5'>處理器</b><b class='flag-5'>FPGA</b>的設(shè)計(jì)

    如何使用FPGA實(shí)現(xiàn)FIR抽取濾波器的設(shè)計(jì)

    FPGA實(shí)現(xiàn)抽取濾波器比較復(fù)雜,主要是因?yàn)樵?b class='flag-5'>FPGA中缺乏實(shí)現(xiàn)乘法運(yùn)算的有效結(jié)構(gòu),現(xiàn)在,FPGA中集成了硬件乘法器,使FPGA
    發(fā)表于 09-25 10:44 ?3次下載
    如何使用<b class='flag-5'>FPGA</b>實(shí)現(xiàn)<b class='flag-5'>FIR</b>抽取<b class='flag-5'>濾波器</b>的設(shè)計(jì)

    FIR濾波器代碼及仿真設(shè)計(jì)

    上文 FPGA數(shù)字信號(hào)處理濾波器2_使用dsp48e1的fir濾波器設(shè)計(jì)完成了結(jié)構(gòu)設(shè)計(jì)。
    的頭像 發(fā)表于 06-02 12:36 ?1416次閱讀
    <b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>代碼及仿真設(shè)計(jì)

    IIR濾波器FIR濾波器的區(qū)別

    數(shù)字濾波器數(shù)字信號(hào)處理中最常用的一種技術(shù),可以對(duì)數(shù)字信號(hào)進(jìn)行濾波、降噪、增強(qiáng)等處理,其中最常見(jiàn)
    的頭像 發(fā)表于 06-03 10:21 ?1.8w次閱讀