0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

使用DDS生成三個信號并在Vivado中實現(xiàn)低通濾波器

FPGA技術(shù)江湖 ? 來源:OpenFPGA ? 2025-03-01 14:31 ? 次閱讀

作者: 碎碎思,來源:OpenFPGA

本文使用 DDS 生成三個信號,并在 Vivado 中實現(xiàn)低通濾波器。低通濾波器將濾除相關(guān)信號。

f2bb87e4-efea-11ef-9310-92fbcf53809c.png

介紹

用DDS生成三個信號,并在Vivado中實現(xiàn)低通濾波器。低通濾波器將濾除較快的信號。

本文分為幾個主要部分:

信號生成:展示如何使用DDS(直接數(shù)字合成)IP生成測試信號 - 10 MHz 信號和 500 kHz 信號,然后將它們組合起來創(chuàng)建混合信號進行測試。

FIR 濾波器設(shè)計:解釋影響 FIR 濾波器性能的關(guān)鍵因素,包括:

抽頭數(shù)量及其對濾波器響應(yīng)的影響

量化和系數(shù)位寬設(shè)計

權(quán)衡資源利用

設(shè)計:演示使用 Vivado 進行設(shè)計,包括

設(shè)置FIR IP

使用 MATLAB 生成的系數(shù)配置濾波器參數(shù)

設(shè)置適當?shù)奈粚捄?a href="http://www.wenjunhu.com/tags/時鐘/" target="_blank">時鐘頻率

添加必要的組件,如時鐘源和 ILA(集成邏輯分析儀)

測試和驗證:顯示如何通過以下方式驗證濾波器的操作:

仿真結(jié)果顯示高頻分量的濾波

FPGA 板上的硬件實現(xiàn)

使用基于計數(shù)器的脈沖發(fā)生器觀察濾波器脈沖響應(yīng)的特殊技術(shù)

第 1 部分:DDS 設(shè)置,用于生成兩個信號和混合信號

首先為測試臺生成信號:

f2d2738c-efea-11ef-9310-92fbcf53809c.png

在BD設(shè)計中添加 DDS IP。在配置選項卡中,將系統(tǒng)時鐘設(shè)置為 100 MHz。

f2e46876-efea-11ef-9310-92fbcf53809c.png

由于我們只需要生成正弦波,因此在Implementation選項卡中,選擇輸出為Sine選項,并取消選擇相位輸出選項。在Output Frequency選項卡中,將Channel 1的頻率設(shè)置為 500 kHz。

f2edffc6-efea-11ef-9310-92fbcf53809c.pngf2f521de-efea-11ef-9310-92fbcf53809c.png

在BD設(shè)計中添加另一個 DDS IP。重復(fù)相同的設(shè)置,但這次將輸出頻率設(shè)置為 10 MHz。

f2f95362-efea-11ef-9310-92fbcf53809c.png

在BD設(shè)計中添加一個加法器。將其輸入位寬設(shè)置為 8,將其輸出位寬設(shè)置為 9。

f3071c0e-efea-11ef-9310-92fbcf53809c.png

將兩個 DDS 編譯器的輸出連接到加法器的輸入。這將生成混合信號。

在設(shè)計中添加一個模擬時鐘發(fā)生器,并將其頻率設(shè)置為 100MHz。該頻率也是設(shè)計的采樣率

DDS編譯器仿真結(jié)果:

如仿真結(jié)果所示:

f30f94b0-efea-11ef-9310-92fbcf53809c.png

第一個正弦波的周期為 2000 ns,這是一個 500 kHz 的信號。

第二個正弦波的周期為 100 ns,這是一個 10 MHz 信號。

還可以觀察混合信號,其中較快信號的幅度以較慢信號的頻率波動,從而顯示了兩個頻率的組合。

Vivado FIR 濾波器仿真

f319fd42-efea-11ef-9310-92fbcf53809c.png

FIR 濾波器配置:FIR 濾波器的性能受幾個因素影響:

抽頭數(shù)量:

增加抽頭數(shù)量可改善濾波器響應(yīng),從而使通帶更平坦,波紋更少,振鈴減少。

更多的抽頭數(shù)還會增強截止頻率的衰減,從而提高濾波器的精度。然而,更多的抽頭會引入更大的延遲,這可能不適合某些 DSP 系統(tǒng)。

f320221c-efea-11ef-9310-92fbcf53809c.png 不同抽頭數(shù)的FIR濾波器響應(yīng)比較

量化和濾波器系數(shù)位寬:

量化-通過將數(shù)字映射到由分配的位寬決定的一組固定的離散值來降低數(shù)字的精度。

使用較少的位數(shù)進行量化會降低濾波器系數(shù)的準確性,從而對濾波器的性能產(chǎn)生負面影響。

資源權(quán)衡:

濾波器性能和 FPGA 資源利用率之間存在權(quán)衡。

增加抽頭數(shù)量或系數(shù)的位寬需要更多的 DSP 資源,這可能會消耗 FPGA 很多資源。

f32fd77a-efea-11ef-9310-92fbcf53809c.png 兩種不同F(xiàn)IR濾波器所需的FPGA資源

通過平衡這些因素,可以優(yōu)化 FIR 濾波器以滿足應(yīng)用程序的特定要求。

在 Matlab 中生成量化 FIR 濾波器抽頭

為了簡化工作,提供了一個可以輕松生成量化 FIR 濾波器的 Matalab 代碼,可以在 Vivado 中直接使用它:

closeall
clearall
clc
%%setuptheparametershere
Sample_Rate=50e6;
cutoff_frequency=5e6;
number_of_filter_taps=191;%mustbeoddnumber!
filter_taps_bitwidth=10;
lowpass_highpass='low';%shouldbeloworhigh
%%Caluculatethetaps
Nyquist_frequency=Sample_Rate/2;
Wn=cutoff_frequency/(Nyquist_frequency);
%Generatearowvectorbcontainingthen+1coefficients
filter_taps=fir1(number_of_filter_taps-1,Wn,lowpass_highpass);
%%Quantization
%onebitforsign
filter_taps=floor(filter_taps/max(filter_taps)*(2^(filter_taps_bitwidth-1)-1));
%%plotthefilterresponse
N=1024;%Numberofpointsforthefrequencyresponse
[H,f]=freqz(filter_taps,1,N,Sample_Rate);%Calculatethefrequencyresponse
%Magnitudeandphaseresponse
magnitude=abs(H);%Magnituderesponse

%Plotthefilterresponse
%Magnituderesponseplot
figure;
plot(f,20*log10(magnitude),'linewidth',1.3);%PlotmagnitudeindB
gridon;
title('MagnitudeResponse(dB)',FontSize=22);
xlabel_txt='Frequency(Hz)';
xlabel(xlabel_txt,FontSize=22);
ylabel('Magnitude(dB)',FontSize=22);
%xlim([030e6])
figure
freqz(filter_taps,1)
figure
stem(filter_taps,'linewidth',1.3)
gridon;

在提供的Matlab代碼中,需要配置以下參數(shù):

采樣率:這是采樣頻率,在我們的設(shè)計中它對應(yīng)于驅(qū)動系統(tǒng)的時鐘頻率。

截止頻率:指定濾波器的截止頻率。

抽頭數(shù):設(shè)置濾波器的抽頭數(shù),決定濾波器的精度和性能。

抽頭位寬:定義濾波器系數(shù)的位寬,影響量化精度。

濾波器類型:選擇需要的濾波器類型。此代碼目前僅支持高通和低通濾波器。

Vivado 中的 FIR 編譯器 IP 設(shè)置:

借助 Matlab 代碼,生成截止頻率為 1MHz、量化為 16 位的 21 個濾波器抽頭。需要進行少許修改才能使生成的值在 Vivado 中可用。

復(fù)制 FIR 濾波器抽頭并將其粘貼到“濾波器選項”選項卡 下的“系數(shù)向量”字段中。

f3417e30-efea-11ef-9310-92fbcf53809c.png

請注意,一旦更新濾波器系數(shù),實施選項卡中的輸出寬度將自動調(diào)整。

在“通道規(guī)范”選項卡中,設(shè)置采樣率和時鐘頻率匹配連接到 FIR 濾波器的時鐘。在本教程中,我們使用 100 MHz 時鐘。

f34ceac2-efea-11ef-9310-92fbcf53809c.png

在“實施”選項卡中,配置“輸入位寬”以匹配輸入信號的位寬。例如,由于此設(shè)計中加法器的輸出有 9 位,因此將輸入位寬設(shè)置為 9。

f3515940-efea-11ef-9310-92fbcf53809c.png

這樣FIR 濾波器現(xiàn)已配置完畢并可以使用。

請注意,F(xiàn)IR 濾波器的輸入和輸出位寬與正確的字節(jié)數(shù)對齊。例如,當我們將輸入位寬設(shè)置為 9 位時,濾波器的實際輸入位寬會調(diào)整為 2 個字節(jié)(16 位)。

仿真結(jié)果

仿真就會觀察到 FIR 濾波器表現(xiàn)為低通濾波器,衰減頻率更高的信號。

f3592a44-efea-11ef-9310-92fbcf53809c.png

Vivado 綜合

上訴設(shè)計都是可綜合的,在系統(tǒng)內(nèi)為設(shè)計添加時鐘后就可以進行綜合和實現(xiàn)了。

最后,需要在設(shè)計中加入一個 ILA 來監(jiān)控和研究目標信號。移除所有額外的端口,并將它們連接到 ILA。

f362d526-efea-11ef-9310-92fbcf53809c.png

使用上面的架構(gòu)需要使用SDK或者Vitis運行一個簡單的“HelloWorld!”程序。

如果使用板載時鐘就按照需求進行修改。

f36f5a4e-efea-11ef-9310-92fbcf53809c.png

運行后,應(yīng)該能看到與仿真相同的結(jié)果:

f3739cb2-efea-11ef-9310-92fbcf53809c.png

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

    關(guān)注

    1638

    文章

    21860

    瀏覽量

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

    關(guān)注

    161

    文章

    7949

    瀏覽量

    179908
  • FIR
    FIR
    +關(guān)注

    關(guān)注

    4

    文章

    151

    瀏覽量

    33678
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    820

    瀏覽量

    67560

原文標題:FPGA DSP:Vivado 中帶有 DDS 的 FIR 濾波器

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦

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

    設(shè)計將用兩種方式實現(xiàn)低通濾波器。 方法一:利用Vivado自身具備的DDS和FIR的IP核實現(xiàn);方法二:通過Verilog編程
    發(fā)表于 07-15 18:33

    低通濾波器如何設(shè)計?

    kHz 比音頻信號帶寬20~20kHz 大得多 為了從 PWM 開關(guān)信號恢復(fù)出音頻信號 通常采用低通濾波器 LPF
    發(fā)表于 11-07 14:46

    有源濾波器數(shù)字低通濾波器的設(shè)計及其DSP實現(xiàn)

    有源濾波器數(shù)字低通濾波器的設(shè)計及其DSP實現(xiàn)摘要:介紹了基于瞬時無功功率理論的ip iq 諧波檢測方法及對低通濾波器的要求,分析討論了數(shù)字
    發(fā)表于 05-13 17:19 ?90次下載

    基于DDS低通濾波器設(shè)計與仿真

    分析了幾種經(jīng)典濾波器特性,重點研究了DDS系統(tǒng)中低通濾波器的設(shè)計方法。根據(jù)DDS的結(jié)構(gòu)特點和輸出雜散頻譜特性,結(jié)合濾波器技術(shù)指標使用了歸一化
    發(fā)表于 06-22 15:19 ?118次下載

    基于DDS的橢圓函數(shù)低通濾波器的設(shè)計

      低通濾波器是直接數(shù)字頻率合成DDS的重要組成部分,其性能的好壞直接影響整個DDS的特性。提出一種基于DDS的橢圓函數(shù)低
    發(fā)表于 12-09 11:09 ?3727次閱讀
    基于<b class='flag-5'>DDS</b>的橢圓函數(shù)<b class='flag-5'>低通濾波器</b>的設(shè)計

    DDS信號發(fā)生橢圓低通濾波器的設(shè)計

    給出了利用DDS技術(shù)對DDS信號發(fā)生低通濾波器進行設(shè)計的一般方法, 該方法采用截止特性陡峭的7階橢圓函數(shù)
    發(fā)表于 09-27 14:31 ?92次下載
    <b class='flag-5'>DDS</b><b class='flag-5'>信號</b>發(fā)生<b class='flag-5'>器</b><b class='flag-5'>中</b>橢圓<b class='flag-5'>低通濾波器</b>的設(shè)計

    LC低通濾波器作用及應(yīng)用案例

    低通濾波器的作用是抑制高頻信號,通過低頻信號。簡單理解,可認為是通低頻、阻高頻。低通濾波器包括有源低通濾波器和無源
    發(fā)表于 10-09 16:46 ?4.1w次閱讀
    LC<b class='flag-5'>低通濾波器</b>作用及應(yīng)用案例

    低通濾波器的設(shè)計與實現(xiàn)

    低通濾波器的設(shè)計是已知ow(dB3-截止頻率 )、LPH0(直流增益 )、Q(在dB3-截止頻率時的電壓放大倍數(shù)與通帶放大倍數(shù)數(shù)值之比)三個參數(shù)來設(shè)計電路,可選的電路形式為壓控電壓源低通濾波器和無限增益多路反饋
    發(fā)表于 04-22 09:23 ?77次下載
    <b class='flag-5'>低通濾波器</b>的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    低通濾波器與匹配濾波器的區(qū)別

    低通濾波器和匹配濾波器的主要區(qū)別在于:   1.低通濾波器是一種濾波器,它可以抑制高頻信號,使低頻
    發(fā)表于 02-16 17:44 ?2823次閱讀

    低通濾波器與高通濾波器有什么不同

    低通濾波器和高通濾波器的不同之處在于,低通濾波器的電路結(jié)構(gòu),電容放在輸出端,電感放在輸入端,而高通濾波器的電路結(jié)構(gòu)
    發(fā)表于 02-17 14:50 ?1.5w次閱讀
    <b class='flag-5'>低通濾波器</b>與高通<b class='flag-5'>濾波器</b>有什么不同

    低通濾波器電路圖分享

    低通濾波器是一種電子濾波器,允許低于截止頻率的信號通過,但高于截止頻率的信號不能通過。低通濾波器常用于音頻應(yīng)用
    的頭像 發(fā)表于 02-12 09:33 ?6366次閱讀
    <b class='flag-5'>低通濾波器</b>電路圖分享

    有源低通濾波器設(shè)計原理 有源低通濾波器的截止頻率計算

    、增強信號質(zhì)量。 有源低通濾波器的基本原理是利用一放大器和反饋電路來實現(xiàn)濾波器的放大和濾波功能
    的頭像 發(fā)表于 02-03 09:36 ?3470次閱讀

    什么是低通濾波器?低通濾波器有什么作用?

    在電子工程領(lǐng)域中,濾波器是一種用于信號處理的重要元件。而低通濾波器作為濾波器的一種類型,具有其獨特的頻率響應(yīng)特性。本文維愛普電源濾波器小編將
    的頭像 發(fā)表于 04-08 16:30 ?4706次閱讀
    什么是<b class='flag-5'>低通濾波器</b>?<b class='flag-5'>低通濾波器</b>有什么作用?

    低通濾波器:原理、應(yīng)用與重要性

    信號處理的世界濾波器是一種非常重要的工具,用于從復(fù)雜的信號中提取出我們感興趣的部分。其中,低通濾波器(Low-Pass Filter,
    的頭像 發(fā)表于 07-09 14:46 ?3729次閱讀
    <b class='flag-5'>低通濾波器</b>:原理、應(yīng)用與重要性

    低通濾波器的工作原理 低通濾波器在音頻處理的應(yīng)用

    的特性,電容通高頻阻低頻,而電感則相反,通低頻阻高頻。通過巧妙結(jié)合這兩種元件,低通濾波器可以實現(xiàn)信號的頻率選擇性過濾。 RC低通濾波器 RC低通濾
    的頭像 發(fā)表于 02-01 10:24 ?610次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品