chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

基于FPGA的橫向FIR濾波器設(shè)計(jì)詳解

FPGA之家 ? 來源:YXQ ? 2019-07-08 08:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

關(guān)于FIR濾波器的設(shè)計(jì),大多數(shù)文獻(xiàn)和資料都偏向于理論的介紹與闡述,使讀者在學(xué)習(xí)完這類文獻(xiàn)后只是明白了如何解決例題與習(xí)題,真正的動(dòng)手設(shè)計(jì)FIR濾波器依然會(huì)覺得抽象很陌生,本文則是在理論的基礎(chǔ)上詳細(xì)闡述了如何基于Verilog HDL搭建的數(shù)字電路,來完成來完成FIR橫向?yàn)V波器的設(shè)計(jì)。

橫向FIR濾波器的設(shè)計(jì)

設(shè)經(jīng)過AD采集得到的輸入序列為x(n),其通過單位沖激響應(yīng)為h(n)的因果FIR濾波器后,輸出y(n)在時(shí)域可表示為線性卷積和的形式:

其中N-1為FIR濾波器階數(shù)(也稱抽頭數(shù)),可以明顯的看出h(n)是長度為抽頭數(shù)加一的有限長序列,不失一般性的設(shè)抽頭數(shù)為3的FIR單位沖激響應(yīng)h(n)為,

依卷積和畫出信號(hào)流程圖如下,

我們必須明確這里的自變量n表示的并非是連續(xù)時(shí)間,而是第N次AD采樣。

首先根據(jù)流程圖所示,我們需要設(shè)計(jì)一個(gè)關(guān)于x(n)的移位電路,其RTL視圖如下,

如圖所示的x(n)的移位功能在Verilog中可以通過如下代碼實(shí)現(xiàn),注意clk是與數(shù)據(jù)同步的AD的采樣率時(shí)鐘(AD當(dāng)前數(shù)據(jù)建立后,采用一個(gè)脈沖標(biāo)志可實(shí)現(xiàn))。

input clk;input signed[8:0] x_in;output reg signed [8:0] xn;output reg signed [8:0] xn_1;output reg signed [8:0] xn_2;output reg signed [8:0] xn_3;always@(posedge clk)	begin		xn   <= x_in;	//x(n)		xn_1 <= xn;	//x(n-1)		xn_2 <= xn_1;	//x(n-2)		xn_3 <= xn_2;	//x(n-3)	end

其次,為了設(shè)計(jì)方便,需要將浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)運(yùn)算,注意,N位的數(shù)據(jù)完成N*N乘法后,其結(jié)果的長度為2N位,為了配合乘法運(yùn)算,我們需要采用18位補(bǔ)碼表示有符號(hào)數(shù)據(jù)(MSB為符號(hào)位),并對(duì)浮點(diǎn)數(shù)進(jìn)行8位的量化處理(乘以256轉(zhuǎn)換為定點(diǎn)數(shù)運(yùn)算,運(yùn)算結(jié)果除以256可得到相應(yīng)的浮點(diǎn)數(shù)),那么上述的系統(tǒng)的沖激響應(yīng)h(n)可表示為(這里不可避免的引入了量化誤差),

對(duì)應(yīng)的18位補(bǔ)碼有符號(hào)十進(jìn)制數(shù)為,

電路RTL視圖如下,

如圖所示的x(n)移位后對(duì)應(yīng)的乘法功能在Verilog中可以通過如下代碼實(shí)現(xiàn)。

input clk;input signed[8:0] x_in;output signed [17:0] mult0;output signed [17:0] mult1;output signed [17:0] mult2;output signed [17:0] mult3;reg signed [8:0] xn;reg signed [8:0] xn_1;reg signed [8:0] xn_2;reg signed [8:0] xn_3;always@(posedge clk)	begin		xn   <= x_in;		//x(n)		xn_1 <= xn;		//x(n-1)		xn_2 <= xn_1;		//x(n-2)		xn_3 <= xn_2;		//x(n-3)		endassign mult0 = xn * 18'd162;	//x(n)  *h(0)assign mult1 = xn_1 * 18'd134;	//x(n-1)*h(1)assign mult2 = xn_2 * 18'd218;	//x(n-2)*h(2)assign mult3 = xn_3 * 18'd262062;//x(n-3)*h(3)

最后,采用一級(jí)加法電路完成整個(gè)求卷積和的過程,需要注意的是,有符號(hào)的加法操作,需要對(duì)符合位進(jìn)行保護(hù),完成加法后數(shù)據(jù)的長度應(yīng)設(shè)為2*N+log2(Tap+1)-1(其中Tap表示抽頭數(shù)),則本文需要的加法寄存器的長度為為19位(2*9+log(4)-1),并且取其高11位作為y(n)輸出(該操作等于除以256)其電路RTL視圖如下,

該結(jié)構(gòu)的總體Verilog代碼如下。

module fir(	input clk,	input signed[8:0] x_in,	output signed [10:0] y_out);reg signed [8:0] xn;reg signed [8:0] xn_1;reg signed [8:0] xn_2;reg signed [8:0] xn_3;wire signed [17:0] mult0;wire signed [17:0] mult1;wire signed [17:0] mult2;wire signed [17:0] mult3;wire signed [18:0] adder0;always@(posedge clk)	begin		xn   <= x_in;		//x(n)		xn_1 <= xn;			//x(n-1)		xn_2 <= xn_1;		//x(n-2)		xn_3 <= xn_2;		//x(n-3)		endassign mult0 = xn * 18'd162;		//x(n)  *h(0)assign mult1 = xn_1 * 18'd134;	//x(n-1)*h(1)assign mult2 = xn_2 * 18'd218;	//x(n-2)*h(2)assign mult3 = xn_3 * 18'd262062;//x(n-3)*h(3)	assign adder0 = mult0 + mult1 + mult2 + mult3; //adder0(n)=x(n)*h(0)+x(n-1)*h(1)+x(n-2)*h(2)+x(n-3)*h(3)assign y_out = adder0[18:8];	//y(n)=adder0(n)/256endmodule

基于ModelSim求系統(tǒng)沖激響應(yīng)與矩形脈沖響應(yīng)

列寫testbench如下,

`timescale 1ns/1ns`define ad_clk 20module fir_tb;	reg						clk;	reg signed[8:0] 		x_in;	wire signed [10:0] 	y_out;		fir fir(		.clk(clk),		.x_in(x_in),		.y_out(y_out)	);	initial clk = 1;	always#(`ad_clk/2) clk = ~clk;		initial		begin			x_in = 9'd0;			#(`ad_clk*20);			#3;			x_in = 9'd100;			#(`ad_clk);			x_in = 9'd0;			#(`ad_clk*20);			x_in = 9'd100;			#(`ad_clk);			x_in = 9'd100;			#(`ad_clk);			x_in = 9'd100;			#(`ad_clk);			x_in = 9'd100;			#(`ad_clk);			x_in = 9'd100;			#(`ad_clk);			x_in = 9'd0;			#(`ad_clk*20);				$stop;			endendmodule

仿真求得對(duì)應(yīng)的響應(yīng)為

顯然,當(dāng)輸入為x(n)=100δ(n)時(shí),輸出為y(n)=100h(n)(存在著量化誤差),輸入為x(n)=100[u(n)-u(n-5)]時(shí),輸出y(n)=[63δ(n) 115δ(n-1) 200δ(n-2) 168δ(n-3) 168δ(n-4) 105δ(n-5) 53δ(n-6) -33δ(n-7)]。

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

    關(guān)注

    1654

    文章

    22271

    瀏覽量

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

    關(guān)注

    1

    文章

    96

    瀏覽量

    19615

原文標(biāo)題:基于FPGA的橫向FIR濾波器設(shè)計(jì)詳解——Bryan

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    信號(hào)處理:指數(shù)移動(dòng)平均 (EMA) 濾波器

    作者: Mustahsin Zarif 之前我們?cè)凇缎盘?hào)處理簡介》一文中已經(jīng)見過了兩類濾波器:有限脈沖響應(yīng) (FIR) 濾波器和無限脈沖響應(yīng) (IIR) 濾波器。我們看到了移動(dòng)平均
    的頭像 發(fā)表于 10-04 18:35 ?1511次閱讀
    信號(hào)處理:指數(shù)移動(dòng)平均 (EMA) <b class='flag-5'>濾波器</b>

    有源濾波器與無源濾波器的區(qū)別

    濾波器是根據(jù)電路參數(shù)對(duì)電路頻帶寬度的影響而設(shè)計(jì)出來的工程應(yīng)用電路,濾波器種類很多,有源濾波器和無源濾波器的區(qū)別我們最簡單的分別辦法是看看是否需要電源,在作用上最大的區(qū)別在于有源
    的頭像 發(fā)表于 06-18 09:03 ?1186次閱讀

    基于 FPGA 的任意波形發(fā)生+低通濾波器系統(tǒng)設(shè)計(jì)

    第一部分 設(shè)計(jì)概述 1.1 設(shè)計(jì)目的 本次設(shè)計(jì)包括基于FPGA的任意波形發(fā)生設(shè)計(jì)實(shí)現(xiàn)和基于FPGA的低通濾波器設(shè)計(jì)實(shí)現(xiàn)。 波形發(fā)生是一種
    發(fā)表于 05-07 15:34

    進(jìn)群免費(fèi)領(lǐng)FPGA學(xué)習(xí)資料!數(shù)字信號(hào)處理、傅里葉變換與FPGA開發(fā)等

    ~ 01、數(shù)字信號(hào)處理的FPGA實(shí)現(xiàn) 旨在講解前端數(shù)字信號(hào)處理算法的高效實(shí)現(xiàn)。首先概述了當(dāng)前的FPGA技術(shù)、器件以及用于設(shè)計(jì)最先進(jìn)DSP系統(tǒng)的工具。闡述了計(jì)算機(jī)算法的概念、理論、FIR和IIR
    發(fā)表于 04-07 16:41

    深入解讀智多晶FIR IP

    在數(shù)字信號(hào)處理領(lǐng)域,FIR 濾波器憑借其穩(wěn)定性強(qiáng)、線性相位等優(yōu)勢(shì),被廣泛應(yīng)用于各類信號(hào)處理場(chǎng)景。今天,就帶大家深入解讀西安智多晶微電子有限公司推出的FIR IP。
    的頭像 發(fā)表于 03-20 17:08 ?915次閱讀
    深入解讀智多晶<b class='flag-5'>FIR</b> IP

    高帶通TSIF集成濾波器

    低通濾波器 高通濾波器 帶通濾波器 帶阻濾波器 全通濾波器 濾波器類型 作用 頻率特性 應(yīng)用場(chǎng)景
    的頭像 發(fā)表于 03-20 15:42 ?710次閱讀
    高帶通TSIF集成<b class='flag-5'>濾波器</b>

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

    在現(xiàn)代通信信號(hào)處理領(lǐng)域中,隨著各種精密計(jì)算和快速計(jì)算的發(fā)展對(duì)信號(hào)處理的實(shí)時(shí)性、快速性的要求越來越高。以往的模擬濾波器無法克服電壓漂移、溫度漂移和噪聲等問題,從而帶來了許多誤差和不穩(wěn)定因素。而數(shù)字濾波器具有穩(wěn)定性高、精度高、設(shè)計(jì)靈活、實(shí)現(xiàn)方便等突出優(yōu)點(diǎn)。
    的頭像 發(fā)表于 03-06 12:31 ?1736次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>FIR</b>數(shù)字<b class='flag-5'>濾波器</b>設(shè)計(jì)

    在電源濾波器中,使用不同技術(shù)的濾波器有何性能差異

    電源濾波器分電容、電感、有源三類,各有優(yōu)劣。電容濾波器結(jié)構(gòu)簡單成本低,但低頻濾波效果差;電感濾波器低頻效果好但體積大;有源濾波器
    的頭像 發(fā)表于 02-17 10:49 ?799次閱讀
    在電源<b class='flag-5'>濾波器</b>中,使用不同技術(shù)的<b class='flag-5'>濾波器</b>有何性能差異

    如何區(qū)分有源濾波器和無源濾波器,它們各自的應(yīng)用場(chǎng)景是什么

    有源濾波器與無源濾波器的主要區(qū)別在于元件構(gòu)成。無源濾波器主要由無源元件組成,如電阻、電容和電感,它們自身不具備放大信號(hào)的能力。而有源濾波器則在無源元件的基礎(chǔ)上引入了有源器件,通常是放大
    的頭像 發(fā)表于 02-08 11:45 ?1736次閱讀
    如何區(qū)分有源<b class='flag-5'>濾波器</b>和無源<b class='flag-5'>濾波器</b>,它們各自的應(yīng)用場(chǎng)景是什么

    算法操作案例分享丨有限沖激響應(yīng)濾波器FIR)實(shí)驗(yàn)

    》、《電機(jī)控制系統(tǒng)設(shè)計(jì)》、《DSP系統(tǒng)設(shè)計(jì)與應(yīng)用》向下滑動(dòng)查看所有實(shí)驗(yàn)列表內(nèi)容2?案例分享一、實(shí)驗(yàn)名稱:4-2有限沖激響應(yīng)濾波器FIR)算法(MATLAB輔助,
    的頭像 發(fā)表于 02-08 09:43 ?1149次閱讀
    算法操作案例分享丨有限沖激響應(yīng)<b class='flag-5'>濾波器</b>(<b class='flag-5'>FIR</b>)實(shí)驗(yàn)

    電源濾波器濾波精度如何?

    電源濾波器濾波精度受頻率響應(yīng)、設(shè)計(jì)、元件選擇、布局及測(cè)試影響,需綜合考慮優(yōu)化。合理選擇和配置可降低電磁干擾,提高設(shè)備穩(wěn)定性。期待更高效、可靠的濾波器產(chǎn)品。
    的頭像 發(fā)表于 12-30 13:47 ?806次閱讀
    電源<b class='flag-5'>濾波器</b>的<b class='flag-5'>濾波</b>精度如何?

    5G射頻濾波器技術(shù)原理

    射頻濾波器可分為表聲波濾波器和體聲波濾波器,其中表聲波濾波器細(xì)分為SAW濾波器、TC-SAW、I.H.P-SAW(IncredibleHig
    的頭像 發(fā)表于 12-26 15:34 ?1369次閱讀
    5G射頻<b class='flag-5'>濾波器</b>技術(shù)原理

    濾波器的一些常識(shí)

    濾波器簡介:濾波器是一種用于信號(hào)處理的設(shè)備或系統(tǒng),用于改變信號(hào)的頻率特性,以實(shí)現(xiàn)信號(hào)的濾波、增強(qiáng)、去噪或降噪等功能。濾波器根據(jù)其工作方式可以分為數(shù)字
    的頭像 發(fā)表于 12-18 17:05 ?1464次閱讀
    <b class='flag-5'>濾波器</b>的一些常識(shí)

    ADS1281的SINC濾波器GROUP DELAY延時(shí)是多少?應(yīng)該在哪看了?

    我在ADS1281的DATASHEET中看到FIR的GROUP DELAY 在線性情況下是30*1/fdata. 如果 我只有SINC,不用FIR,這時(shí)候的GROUP DELAY 濾波器延時(shí)是多少,應(yīng)該在哪看了?
    發(fā)表于 12-03 06:36