国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation

這篇具有很好參考價(jià)值的文章主要介紹了基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼)



前言

本文為FPGA實(shí)現(xiàn)FIR濾波器仿真過(guò)程,附源代碼。


提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、matlab設(shè)計(jì)FIR濾波器,生成正弦波

1.設(shè)計(jì)FIR濾波器

打開MATLAB在命令行窗口輸入:
fadtool
回車后在濾波器設(shè)計(jì)界面設(shè)置濾波器參數(shù)如下
基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation,fpga開發(fā),matlab,開發(fā)語(yǔ)言
之后點(diǎn)擊如圖標(biāo)志,設(shè)置定點(diǎn),在菜單欄"目標(biāo)(R)"出選擇生成對(duì)應(yīng)濾波器系數(shù).COE文件
基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation,fpga開發(fā),matlab,開發(fā)語(yǔ)言

1.生成正弦波.coe

matlab代碼如下

width=8;    %rom的位寬
depth=1024; %rom的深度
x=linspace(0,2*pi,depth);   %在一個(gè)周期內(nèi)產(chǎn)生1024個(gè)采樣點(diǎn)
y_sin=sin(x);    %生成余弦數(shù)據(jù)
y_sin=round(y_sin*(2^(width-1)-1))+2^(width-1)-1;   %將余弦數(shù)據(jù)全部轉(zhuǎn)換為整數(shù)

fid=fopen('C:\Users\lys\Desktop\fir\sin.coe','w');   %創(chuàng)建.coe文件
fprintf(fid,'%d,\n',y_sin);   %向.coe文件中寫入數(shù)據(jù)
fclose(fid);   %關(guān)閉.coe文件

二、vivado

1.fir濾波器IP核

設(shè)置參數(shù)如下:
基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation,fpga開發(fā),matlab,開發(fā)語(yǔ)言
基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation,fpga開發(fā),matlab,開發(fā)語(yǔ)言
基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation,fpga開發(fā),matlab,開發(fā)語(yǔ)言

2.正弦波生成IP核

參數(shù)設(shè)置如下:
基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation,fpga開發(fā),matlab,開發(fā)語(yǔ)言
基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation,fpga開發(fā),matlab,開發(fā)語(yǔ)言
基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation,fpga開發(fā),matlab,開發(fā)語(yǔ)言

3.時(shí)鐘IP核設(shè)置

參數(shù)設(shè)置如下:
基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation,fpga開發(fā),matlab,開發(fā)語(yǔ)言
基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation,fpga開發(fā),matlab,開發(fā)語(yǔ)言

4.頂層文件/測(cè)試文件代碼

`timescale 1ns / 1ps

module fir_top(
    input clk,
    input rst_n,
    input [1:0]rom_sel,
    output [7:0]douta,
    output [7:0]fir_out_data
    );

    wire clk_10m;
    wire clk_1;
    wire clk_2;
    wire clk_3;
   
//    clk_wiz_0 instance_name(
//        .clk_out1(clk_1),     // output clk_out1
//        .clk_out2(clk_2),
//        .clk_out3(clk_3),
//        .clk_out4(clk_10m),
//        .reset(rst_n), // input resetn
//        .locked(),       // output locked
//        .clk_in1(clk)
//    );      // input clk_in1
    
  clk_wiz_0 instance_name
   (
    // Clock out ports
    .clk_out1(clk_1),     // output clk_out1
    .clk_out2(clk_2),     // output clk_out2
    .clk_out3(clk_3),     // output clk_out3
    .clk_out4(clk_10m),     // output clk_out4
    // Status and control signals
    .resetn(rst_n), // input reset
    .locked(),       // output locked
   // Clock in ports
    .clk_in1(clk));      // input clk_in1
    
    wire clk_rom;
    assign clk_rom = (rom_sel == 0)?clk_1:((rom_sel == 1)?clk_2:clk_3);
    
    reg [9:0]addra;
    always@(posedge clk_rom or negedge rst_n)begin
        if(!rst_n)
            addra <= 'd0;
        else
            addra <= addra + 1'b1;
    end
    
      
    rom_fir rom_inst (
        .clka(clk_rom),    // input wire clka
        .ena(1'b1),      // input wire ena
        .addra(addra),  // input wire [9 : 0] addra
        .douta(douta)  // output wire [7 : 0] douta
    );

    wire [7:0]fir_in_data;
    assign fir_in_data = douta - 'd128;

    fir fir_inst (
        .aclk(clk),                              // input wire aclk
        .s_axis_data_tvalid(clk_10m),  // input wire s_axis_data_tvalid
        .s_axis_data_tready(),  // output wire s_axis_data_tready
        .s_axis_data_tdata(fir_in_data),    // input wire [7 : 0] s_axis_data_tdata
        .m_axis_data_tvalid(),  // output wire m_axis_data_tvalid
        .m_axis_data_tdata(fir_out_data)    // output wire [7 : 0] m_axis_data_tdata
    );

endmodule

`timescale 1ns / 1ps

module fir_top_tb;

    reg clk;
    reg rst_n;
    reg [1:0]rom_sel;
    wire [7:0]douta;
    wire [7:0]fir_out_data;
    
    fir_top fir_top_inst(
        .clk    (clk),
        .rst_n  (rst_n),
        .rom_sel(rom_sel),
        .douta  (douta),
        .fir_out_data(fir_out_data)
    );
    
    initial clk = 0;
    always#10 clk = ~clk;
    
    initial begin
        rst_n = 0;
        rom_sel = 0;
        #200;
        rst_n = 1'b1;
        #200000;
        rom_sel = 1;
        #200000;
        rom_sel = 2;
        #200000;
        $stop;
    end
    
endmodule

三.simulation

只為測(cè)試功能,未考慮濾波器性能,所以效果不佳,結(jié)果實(shí)現(xiàn)如下
基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation,fpga開發(fā),matlab,開發(fā)語(yǔ)言

四.源代碼

https://download.csdn.net/download/qq_42761380/88243346文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-674743.html

到了這里,關(guān)于基于FPGA的FIR低通濾波器實(shí)現(xiàn)(附工程源碼),matlab+vivado19.2+simulation的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • FIR內(nèi)插濾波器的FPGA實(shí)現(xiàn)(一)-matlab實(shí)現(xiàn)

    FIR內(nèi)插濾波器的FPGA實(shí)現(xiàn)(一)-matlab實(shí)現(xiàn)

    FIR內(nèi)插濾波器是一種基本的插值方法,主要有兩個(gè)步驟: 1)在輸入的每一個(gè)初始采樣中間插入L個(gè)零點(diǎn); 2)插零后的數(shù)據(jù)經(jīng)過(guò)低通濾波器。 運(yùn)行結(jié)果如圖(時(shí)域、頻域): 我們的目標(biāo)是把采樣頻率提升五十倍。 得到的頻域圖: 可以看出內(nèi)插零點(diǎn)在頻域會(huì)實(shí)現(xiàn)頻譜擴(kuò)展,因此

    2024年02月03日
    瀏覽(23)
  • FIR濾波器的FPGA實(shí)現(xiàn)【IP核實(shí)現(xiàn)版】

    FIR濾波器的FPGA實(shí)現(xiàn)【IP核實(shí)現(xiàn)版】

    本文使用FPGA來(lái)實(shí)現(xiàn)FIR濾波器設(shè)計(jì),設(shè)計(jì)中使用的DDS、乘法器與FIR濾波器均采用IP core進(jìn)行實(shí)現(xiàn),實(shí)現(xiàn)效果是將3MHz和4MHz的正弦信號(hào)混頻后使用FIR低通濾波器濾除7MHz信號(hào)得到1MHz的信號(hào)。 首先用兩個(gè)DDS核生成3MHz以及4MHz的正弦波信號(hào)。 注意:此處的dds的命名要和代碼中對(duì)應(yīng),系統(tǒng)

    2024年02月04日
    瀏覽(23)
  • 基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)(quartus和vivado程序都有)。

    基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)(quartus和vivado程序都有)。

    基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)(quartus和vivado程序都有)。 附: 1.配套quartus從MATLAB系數(shù)生成直到仿真成功說(shuō)明文檔。 2.配套仿真出波形(圖1)的視頻。 ? ? ?

    2024年02月10日
    瀏覽(16)
  • 解析使用FPGA邏輯實(shí)現(xiàn)FIR濾波器的幾種架構(gòu)

    解析使用FPGA邏輯實(shí)現(xiàn)FIR濾波器的幾種架構(gòu)

    有限脈沖響應(yīng)(finite impulse response,F(xiàn)IR)數(shù)字濾波器 ????????FIR濾波器的實(shí)質(zhì)就是輸入序列與系統(tǒng)脈沖響應(yīng)的卷積,即: ????????其中,N為濾波器的階數(shù),也即抽頭數(shù);x(n)為第n個(gè)輸入序列;h(n)為FIR濾波器的第n級(jí)抽頭系數(shù)。 ????????FIR濾波器基本結(jié)構(gòu)如下: ?????

    2024年02月08日
    瀏覽(18)
  • 數(shù)字信號(hào)處理-10-并行FIR濾波器MATLAB與FPGA實(shí)現(xiàn)

    數(shù)字信號(hào)處理-10-并行FIR濾波器MATLAB與FPGA實(shí)現(xiàn)

    本文介紹了設(shè)計(jì)濾波器的FPGA實(shí)現(xiàn)步驟,并結(jié)合杜勇老師的書籍中的并行FIR濾波器部分進(jìn)行一步步實(shí)現(xiàn)硬件設(shè)計(jì),對(duì)書中的架構(gòu)做了復(fù)現(xiàn)以及解讀,并進(jìn)行了仿真驗(yàn)證。 FIR濾波器的結(jié)構(gòu)形式時(shí),介紹了直接型、級(jí)聯(lián)型、頻率取樣型和快速卷積型4種。在FPGA實(shí)現(xiàn)時(shí),最常用的是最

    2023年04月09日
    瀏覽(37)
  • FPGA 的數(shù)字信號(hào)處理:Verilog 實(shí)現(xiàn)簡(jiǎn)單的 FIR 濾波器

    FPGA 的數(shù)字信號(hào)處理:Verilog 實(shí)現(xiàn)簡(jiǎn)單的 FIR 濾波器

    該項(xiàng)目介紹了如何使用 Verilog 實(shí)現(xiàn)具有預(yù)生成系數(shù)的簡(jiǎn)單 FIR 濾波器。 不起眼的 FIR 濾波器是 FPGA 數(shù)字信號(hào)處理中最基本的模塊之一,因此了解如何將具有給定抽頭數(shù)及其相應(yīng)系數(shù)值的基本模塊組合在一起非常重要。因此,在這個(gè)關(guān)于 FPGA 上 DSP 基礎(chǔ)實(shí)用入門的教程中,將從一

    2024年02月09日
    瀏覽(27)
  • FIR濾波器簡(jiǎn)述及FPGA仿真驗(yàn)證

    FIR濾波器簡(jiǎn)述及FPGA仿真驗(yàn)證

    數(shù)字濾波器的設(shè)計(jì),本項(xiàng)目做的數(shù)字濾波器準(zhǔn)確來(lái)說(shuō)是FIR濾波器。 FIR濾波器(有限沖激響應(yīng)濾波器),與另一種基本類型的數(shù)字濾波器——IIR濾波器(無(wú)限沖擊響應(yīng)濾波器)相對(duì)應(yīng),其實(shí)就是將所輸入的信號(hào)都看成是離散的,用離散的沖擊信號(hào)代替實(shí)際的信號(hào)。對(duì)于FIR濾波器

    2024年02月09日
    瀏覽(21)
  • FPGA 的 DSP:Verilog 中的簡(jiǎn)單 FIR 濾波器

    FPGA 的 DSP:Verilog 中的簡(jiǎn)單 FIR 濾波器

    本項(xiàng)目介紹如何用 Verilog 實(shí)現(xiàn)一個(gè)帶有預(yù)生成系數(shù)的簡(jiǎn)單 FIR 濾波器。 簡(jiǎn)陋的 FIR 濾波器是 FPGA 數(shù)字信號(hào)處理中最基本的構(gòu)建模塊之一,因此了解如何利用給定的抽頭數(shù)和相應(yīng)的系數(shù)值組裝一個(gè)基本模塊非常重要。因此,在這個(gè)關(guān)于在 FPGA 上入門 DSP 基礎(chǔ)知識(shí)的實(shí)用方法迷你系

    2024年03月17日
    瀏覽(43)
  • 圖像處理之理想低通濾波器、巴特沃斯低通濾波器和高斯低通濾波器的matlab實(shí)現(xiàn)去噪

    圖像處理之理想低通濾波器、巴特沃斯低通濾波器和高斯低通濾波器的matlab實(shí)現(xiàn)去噪

    一、前言 在一幅圖像中, 低頻部分對(duì)應(yīng)圖像變化緩慢的部分即圖像大致外觀和輪廓。高頻部分對(duì)應(yīng)圖像變換劇烈的部分即圖像細(xì)節(jié)(注意圖像的噪聲屬于高頻部分) 。 低通濾波器的功能是讓低頻率通過(guò)而濾掉或衰減高頻,其作用是過(guò)濾掉包含在高頻中的噪聲。即 低通濾波的效

    2023年04月09日
    瀏覽(24)
  • python實(shí)現(xiàn)陷波濾波器、低通濾波器、高斯濾波器、巴特沃斯濾波器

    python實(shí)現(xiàn)陷波濾波器、低通濾波器、高斯濾波器、巴特沃斯濾波器

    在一幅圖像中,其低頻成分對(duì)應(yīng)者圖像變化緩慢的部分,對(duì)應(yīng)著圖像大致的相貌和輪廓,而其高頻成分則對(duì)應(yīng)著圖像變化劇烈的部分,對(duì)應(yīng)著圖像的細(xì)節(jié)(圖像的噪聲也屬于高頻成分)。 低頻濾波器,顧名思義,就是過(guò)濾掉或者大幅度衰減圖像的高頻成分,讓圖像的低頻成分

    2024年02月11日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包