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

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

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

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

基于FPGA的橫向FIR濾波器設計詳解

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

掃碼添加小助手

加入工程師交流群

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

橫向FIR濾波器的設計

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

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

依卷積和畫出信號流程圖如下,

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

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

如圖所示的x(n)的移位功能在Verilog中可以通過如下代碼實現(xiàn),注意clk是與數(shù)據(jù)同步的AD的采樣率時鐘(AD當前數(shù)據(jù)建立后,采用一個脈沖標志可實現(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ù)轉(zhuǎn)換為定點運算,注意,N位的數(shù)據(jù)完成N*N乘法后,其結(jié)果的長度為2N位,為了配合乘法運算,我們需要采用18位補碼表示有符號數(shù)據(jù)(MSB為符號位),并對浮點數(shù)進行8位的量化處理(乘以256轉(zhuǎn)換為定點數(shù)運算,運算結(jié)果除以256可得到相應的浮點數(shù)),那么上述的系統(tǒng)的沖激響應h(n)可表示為(這里不可避免的引入了量化誤差),

對應的18位補碼有符號十進制數(shù)為,

電路RTL視圖如下,

如圖所示的x(n)移位后對應的乘法功能在Verilog中可以通過如下代碼實現(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)

最后,采用一級加法電路完成整個求卷積和的過程,需要注意的是,有符號的加法操作,需要對符合位進行保護,完成加法后數(shù)據(jù)的長度應設為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)沖激響應與矩形脈沖響應

列寫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

仿真求得對應的響應為

顯然,當輸入為x(n)=100δ(n)時,輸出為y(n)=100h(n)(存在著量化誤差),輸入為x(n)=100[u(n)-u(n-5)]時,輸出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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1663

    文章

    22491

    瀏覽量

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

    關(guān)注

    1

    文章

    97

    瀏覽量

    19729

原文標題:基于FPGA的橫向FIR濾波器設計詳解——Bryan

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    屏蔽電源濾波器的分類

    屏蔽房用來屏蔽 輻射 干擾,而濾波器用來濾除 傳導 干擾。沒有濾波器,屏蔽房的整體隔離效果會下降60dB以上(相當于百萬倍的效能損失),因此濾波器是屏蔽房發(fā)揮完整功能的核心部件。 來看下分類: 屏蔽
    的頭像 發(fā)表于 04-16 10:53 ?92次閱讀
    屏蔽電源<b class='flag-5'>濾波器</b>的分類

    交流單相濾波器與三相濾波器的核心區(qū)別解析

    在電力系統(tǒng)中,濾波器的應用至關(guān)重要,而單相濾波器和三相濾波器是其兩大主要類別。這兩種濾波器并非僅因相位數(shù)量不同,而是在設計原理、核心功能和應用領(lǐng)域上存在根本性差異。理解這些差異是進行正
    的頭像 發(fā)表于 02-04 15:53 ?342次閱讀

    5.5 GHz 帶通濾波器:高頻陶瓷解決方案詳解

    5.5 GHz 帶通濾波器:高頻陶瓷解決方案詳解 在高頻電路設計中,濾波器是至關(guān)重要的元件,它能夠精確篩選出特定頻率范圍內(nèi)的信號,抑制其他頻率的干擾。今天,我們就來詳細探討一款 5.5 GHz
    的頭像 發(fā)表于 01-20 16:20 ?211次閱讀

    MAX293八階低通橢圓開關(guān)電容濾波器詳解

    MAX293/MAX294/MAX297:八階低通橢圓開關(guān)電容濾波器詳解 在電子電路設計中,濾波器的選擇至關(guān)重要,它直接影響著信號處理的質(zhì)量和效果。今天我們要詳細探討的是MAXIM公司的三款八階低
    的頭像 發(fā)表于 01-20 11:00 ?456次閱讀

    SMD 2.45GHz 介電帶通濾波器 ADFC15 - 2450.00 - A - T 詳解

    SMD 2.45GHz 介電帶通濾波器 ADFC15 - 2450.00 - A - T 詳解 在當今的電子設計領(lǐng)域,濾波器是至關(guān)重要的組件,尤其是在高頻通信領(lǐng)域。今天,我們就來詳細了解一款 SMD
    的頭像 發(fā)表于 01-19 16:25 ?258次閱讀

    通信設備濾波器選型指南:Murata多層LC濾波器詳解

    通信設備濾波器選型指南:Murata多層LC濾波器詳解 在通信設備的設計中,濾波器是至關(guān)重要的組件,它能有效過濾掉不需要的信號,確保設備的正常運行。今天,我們就來詳細了解一下村田(Mu
    的頭像 發(fā)表于 01-05 17:20 ?812次閱讀

    低通無鉛薄膜RF/微波濾波器LP0603系列:設計與測試詳解

    低通無鉛薄膜RF/微波濾波器LP0603系列:設計與測試詳解 在當今的電子設備中,射頻(RF)和微波濾波器是至關(guān)重要的組件,它們能夠有效地篩選信號頻率,保證系統(tǒng)性能。今天,我們就來深入探討AVX
    的頭像 發(fā)表于 12-31 16:05 ?466次閱讀

    詳解WE - BPF多層芯片帶通濾波器:從參數(shù)到使用注意事項

    詳解WE - BPF多層芯片帶通濾波器:從參數(shù)到使用注意事項 在電子產(chǎn)品的設計中,濾波器是一個至關(guān)重要的組件,它能夠幫助我們精確地篩選出所需頻率的信號,抑制不需要的干擾。今天,我們就來詳細了解一下W
    的頭像 發(fā)表于 12-29 15:55 ?428次閱讀

    信號處理:指數(shù)移動平均 (EMA) 濾波器

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

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

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

    GNSS 低噪聲放大器前端模塊,集成前濾波器和后濾波器 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()GNSS 低噪聲放大器前端模塊,集成前濾波器和后濾波器相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有GNSS 低噪聲放大器前端模塊,集成前濾波器和后濾波器的引腳圖、接線圖、封裝手
    發(fā)表于 06-06 18:34
    GNSS 低噪聲放大器前端模塊,集成前<b class='flag-5'>濾波器</b>和后<b class='flag-5'>濾波器</b> skyworksinc

    Sky5? 低電流 GNSS LNA 前端模塊,集成前置濾波器和后置濾波器 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()Sky5? 低電流 GNSS LNA 前端模塊,集成前置濾波器和后置濾波器相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有Sky5? 低電流 GNSS LNA 前端模塊,集成前置濾波器和后置
    發(fā)表于 05-14 18:31
    Sky5? 低電流 GNSS LNA 前端模塊,集成前置<b class='flag-5'>濾波器</b>和后置<b class='flag-5'>濾波器</b> skyworksinc

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

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

    請問對SPDIF_Rx傳來的48K,24Bit立體聲信號作約160階FIR電子二分頻濾波器需怎樣的MCU性能?

    請問對SPDIF_Rx 傳來的48K,24Bit立體聲信號作約160階FIR電子二分頻濾波器需怎樣的MCU性能?
    發(fā)表于 04-29 07:00