色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x

基于FPGA的FIR濾波器IP仿真實(shí)例

發(fā)布時(shí)間:2019-7-16 17:33    發(fā)布者:rousong1989
基于FPGAFIR濾波器IP仿真實(shí)例
AT7_Xilinx開發(fā)板(USB3.0+LVDS)資料共享
       騰訊鏈接:https://share.weiyun.com/5GQyKKc
       百度網(wǎng)盤鏈接:https://pan.baidu.com/s/1M7PLzRs-yMJv7NFJE8GVAw
       提取碼:qr0t
1 FIR濾波器簡介
FIRFinite Impulse Response)濾波器,即有限脈沖響應(yīng)濾波器,又稱為非遞歸型濾波器,是數(shù)字信號(hào)處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時(shí)具有嚴(yán)格的線性相頻特性,同時(shí)其單位抽樣響應(yīng)是有限長的,因而濾波器是穩(wěn)定的系統(tǒng)。因此,FIR濾波器在通信、圖像處理、模式識(shí)別等領(lǐng)域都有著廣泛的應(yīng)用。
         Vivado集成的FIR IP核可以實(shí)現(xiàn)如下公式所示的N級(jí)卷積運(yùn)算。
         FIR IP核可以根據(jù)配置實(shí)現(xiàn)復(fù)用的乘累加單元,以實(shí)現(xiàn)面積最優(yōu)化的設(shè)計(jì);當(dāng)然了,在速度性能要求極高的應(yīng)用中,也可以配置并行的乘累加單元,以達(dá)到最大的FIR數(shù)據(jù)吞吐量。
2 FIR IP核配置
         FIRIP配置主頁面如圖所示。此頁面可以配置基本的濾波參數(shù)。
         通道配置頁面如下。
         輸入輸出的數(shù)據(jù)位寬可在Implementation頁面配置。
         實(shí)現(xiàn)的資源利用情況,如優(yōu)化選項(xiàng)、存儲(chǔ)器選項(xiàng)和DSP Slice選項(xiàng)等,可以在Detailed Implementation頁面配置。
         額外的控制接口,可以在Interface頁面配置。
         左側(cè)的Freq.Response頁面可以參考所使用的FIR濾波參數(shù)最終實(shí)現(xiàn)的濾波特性(低通、高通、低阻、高阻或帶通、帶阻等),這里我們使用的是一組IP默認(rèn)的參數(shù),低通濾波器
         而左側(cè)的Implementation Details頁面,則可以自由利用以及接口等信息。如圖所示的ufix16_0表示輸入數(shù)據(jù)為16位的無符號(hào)整數(shù),而fix25_0則表示輸出結(jié)果是25位的有符號(hào)整數(shù)。
         詳細(xì)配置可參看pg149-fir-compiler.pdfat7_img_ex07/matlab文件夾下)。
3 FIR IP核接口時(shí)序
         我們例化的FIR IP核,有如下的接口,其功能和端口方向定義如下。
inputaclk;         //時(shí)鐘信號(hào)
input [15 : 0] s_axis_data_tdata;  //unsigned(16.0),輸入數(shù)據(jù)
inputs_axis_data_tvalid;                 //輸入數(shù)據(jù)有效信號(hào),高電平有效
outputs_axis_data_tready;            //準(zhǔn)備好接收輸入數(shù)據(jù),高電平有效
output [24 : 0] m_axis_data_tdata;      //signed(25.0),FIR濾波結(jié)果輸出
outputm_axis_data_tvalid;                     //FIR濾波結(jié)果輸出有效,高電平有效
         接口時(shí)序控制如圖所示。圖中很多信號(hào)本實(shí)例不涉及,可以忽略。s_axis_data_tvalids_axis_data_tready信號(hào)同時(shí)拉高時(shí),s_axis_data_tdataFIR IP核接收,進(jìn)行處理。當(dāng)m_axis_data_tvalid拉高時(shí),表示輸出FIR濾波結(jié)果m_axis_data_tdata有效。
4 FIR IP仿真
         使用at7_img_ex07/matlab文件夾下的test_data_generate_for_fir.m腳本,可以產(chǎn)生一組1000個(gè)點(diǎn)的余弦數(shù)據(jù),存放在time_domain_cos.txt文件中,這組數(shù)據(jù)將作為FPGA的仿真輸入激勵(lì),經(jīng)過FIR濾波器進(jìn)行濾波處理。
clc;clear `all;close all;
format long g
Fs = 1000;                    % Sampling frequency
T = 1/Fs;                     % Sampling period
L = 1000;                     % Length of signal
t = (0-1)*T;                % Time vector
x1 = cos(2*pi*50*t)*(2^13);          % First row wave
%output time domain data
x1_fix = round(x1,0);    %convert to fixed signed(3.13)
x1_fix(find(x1_fix<0)) = x1_fix(find(x1_fix<0))+(2^16);
fid0 = fopen('time_domain_cos.txt', 'wt');
fprintf(fid0, '%16x\n', x1_fix);
fid0 = fclose(fid0);
         FPGA工程at7_img_ex07的頂層是一個(gè)測試腳本,at7_fir_sim.v文件。該測試腳本將time_domain_cos.txt文件的1000個(gè)數(shù)據(jù)讀入,然后依次送入FIR濾波器IP核進(jìn)行處理,輸出結(jié)果寫入fir_result.txt文本中。
`timescale 1ns/1ps
module zstar_fir_sim(
    );
         
reg clk;   
reg [15 : 0] s_axis_data_tdata;      //unsigned(16.0)
reg s_axis_data_tvalid;
wire s_axis_data_tready;
wire [31 : 25] null;
wire [24 : 0] m_axis_data_tdata;  //signed(25.0)
wire m_axis_data_tvalid;
parameter DATA_NUM = 1000;
         
////////////////////////////////////////////////////
//FIR IP Core   
fir_compiler_0  uut_fir_compiler_0 (
.aclk(clk),                              // input wire aclk
.s_axis_data_tvalid(s_axis_data_tvalid),  // input wire s_axis_data_tvalid
.s_axis_data_tready(s_axis_data_tready),  // output wire s_axis_data_tready
.s_axis_data_tdata(s_axis_data_tdata),    // input wire [15 : 0] s_axis_data_tdata
  .m_axis_data_tvalid(m_axis_data_tvalid),  // output wire m_axis_data_tvalid
  .m_axis_data_tdata({null,m_axis_data_tdata})    // output wire [31 : 0] m_axis_data_tdata
);
         
////////////////////////////////////////////////////     
integer i;
reg[15:0] data_mem [DATA_NUM-1:0];
initial #500 $readmemh("../../time_domain_cos.txt",  data_mem);                 
initial begin
         clk = 0;
         
         s_axis_data_tdata<= 16'd0;
         s_axis_data_tvalid<= 1'b0;
         
         
         #1000;
         @(posedgeclk);
         i<= 1;
         #10000;
         @(posedgeclk);               
         
         #100_000;
         
         $fclose(w1_file);
         #1000;
         $stop;
end  
always @(*) begin
         if((i>0) && (i
         else s_axis_data_tdata<= 16'd0;
end  
always @(posedgeclk) begin
         if(i == 0) i<= 0;
         else if(i<= DATA_NUM) begin         
                  if(s_axis_data_tready&&s_axis_data_tvalid) i<= i+1;
                  else ;
         end
         else if(i< DATA_NUM+26) i<= i+1;
         else ;
end
always @(posedgeclk) begin
         if((i>=1) && (i<=DATA_NUM-1)) s_axis_data_tvalid<= 1'b1;        
         else s_axis_data_tvalid<= 1'b0;
end
always #10 clk = ~clk;              
integer w1_file;
initial w1_file = $fopen("./fir_result.txt","w");     
                  
always @(posedgeclk) begin
         if(m_axis_data_tvalid) begin
                  $fwrite(w1_file, "%x\n", m_axis_data_tdata);     
         end  
end  
         
endmodule
         如圖所示,Vivado中打開at7_img_ex07工程,在Project Manager à Simulation Sources à sim_1下,看到top module為高亮的at7_fir_sim.v模塊,點(diǎn)擊Flow Navigator à Simulation à Run Simulation可以啟動(dòng)仿真。
         運(yùn)行仿真如圖。
仿真的結(jié)果將寫入生成的fir_result.txt文本(位于at7_img_ex07\at7.sim文件夾的子文件夾中),將該文本放置到matlab文件夾中,運(yùn)行matlab腳本draw_wave_from_txt.m,可以查看正弦數(shù)據(jù)FIR濾波前后的波形比對(duì)。在時(shí)域看來,峰或谷的位置是高頻,因此都被FIR濾波處理了。
AT7_Xilinx開發(fā)板(USB3.0+LVDS)資料共享
       騰訊鏈接:https://share.weiyun.com/5GQyKKc
       百度網(wǎng)盤鏈接:https://pan.baidu.com/s/1M7PLzRs-yMJv7NFJE8GVAw
       提取碼:qr0t
本文地址:http://www.54549.cn/thread-565970-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表