哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

MATLAB代碼仿真介紹

FPGA之家 ? 來源:數(shù)字積木 ? 作者:數(shù)字積木 ? 2022-07-06 10:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1,MATLAB代碼仿真。

首先介紹下信號混頻的相關(guān)概念?;祛l就是把兩個不同頻率的信號混合,得到第三個頻率。數(shù)字電路中最常見的混頻方法就是將兩個信號相乘。將兩個頻率為 f0,f1 的正弦波進(jìn)行相乘,根據(jù)積化和差公式,得到兩個頻率分量為 f0+f1 ,f0-f1 的信號。數(shù)字混頻在通信的調(diào)制,解調(diào),DUC(數(shù)字上變頻),DDC(數(shù)字下變頻)等系統(tǒng)中應(yīng)用廣泛。通常把其中一個信號稱為本振信號( local oscillator ),另一個我信號稱為混頻器的輸入信號。

下面的matlab代碼用于驗(yàn)證混頻器的設(shè)計(jì)。

%%信號混頻

%%將兩個頻率為 f0,f1 的正弦波進(jìn)行相乘,根據(jù)積化和差公式,得到兩個頻率分量為 f0+f1 ,f0-f1 的信號

clear all;close all;clc;

fs = 100*10e6; %采樣頻率 100MHz

f1 = 2*10e6; %信號0的頻率 2MHz

f0 = 1.5*10e6; %信號1的頻率 1.5MHz

fpass =1.7*10e6; %低通濾波器通帶頻率

fstop =1.9*10e6; %低通濾波器截止頻率

DIV = 16

N = 4096; %采樣點(diǎn)數(shù)

t = 0 : 1/fs : (N-1)/fs; %設(shè)置采樣時間

Sig0 = sin (2*pi*f0*t); %生成信號0

Sig1 = sin (2*pi*f1*t); %生成信號1

Sig = Sig0 .*Sig1; %兩個信號進(jìn)行相乘

% 進(jìn)行快速傅里葉變化,得到頻譜

XK0 = fft(Sig0);

XK1 = fft(Sig1);

XK = fft(Sig);

%設(shè)置頻率

f = ( 0:N/DIV-1 )*fs/( N * 10e6 ); %單位設(shè)置為MHz

Amax = max (abs( XK(1:N/DIV)));

f0 = [0 fpass/(10e6 ) fstop/(10e6 ) ( N/DIV-1 )*fs/( N * 10e6 ) ];

A = [ Amax Amax 0 0 ];

%繪制時域波形圖

figure(1);

subplot(3,1,1); plot(t,Sig0); title(“頻率為1.5MHz的正弦信號”);xlabel(“時間(s)”);ylabel(“幅度”);

subplot(3,1,2); plot(t,Sig1); title(“頻率為2.0MHz的正弦信號”);xlabel(“時間(s)”);ylabel(“幅度”);

subplot(3,1,3); plot(t,Sig); title(“1.5MHz和2.0MHz正弦波相乘得到的信號”);xlabel(“時間(s)”);ylabel(“幅度”);

%繪制頻域圖

figure(2);

subplot(3,1,1); plot(f, ( abs( XK0(1:N/DIV) ) ) );title(“1.5MHz正弦信號的頻譜”);xlabel(“頻率(MHz)”);ylabel(“幅度”);

subplot(3,1,2); plot(f, ( abs( XK1(1:N/DIV) ) ) );title(“2.0MHz正弦信號的頻譜”);xlabel(“頻率(MHz)”);ylabel(“幅度”);

subplot(3,1,3); plot(f, ( abs( XK(1:N/DIV) ) ) );title(“1.5MHz和2.0MHz正弦波相乘得到的信號的頻譜”);xlabel(“頻率(MHz)”);ylabel(“幅度”);

hold on;

%低通濾波器示意圖

plot( f0 ,A );

在該仿真代碼中,設(shè)置采樣時鐘為100MHz,兩個信號的頻率分別為1.5MHz 和2.0 MHz 。兩個信號相乘后,產(chǎn)生一個頻率分量為 0.5MHz ( 2.0MHz - 1.5MHz ) 和3.5MHz ( 2.0MHz + 1.5MHz ) 的信號。時域圖顯示如下:

f6f9c744-fcc2-11ec-ba43-dac502259ad0.png

頻域圖顯示如下:

f71b0a3a-fcc2-11ec-ba43-dac502259ad0.png

如圖上所示,混頻后得到了兩個頻率頻率分量為 0.5MHz 和 3.5 MHz的信號。將該信號通過一個截止頻率為2.0MHz左右的濾波器中,即可過濾掉 3.5 MHz的高頻信號,只留下 0.5MHz的信號。即如上圖橙色曲線所示。

2.MATLAB設(shè)計(jì)濾波器系數(shù)。

利用matlab的 濾波器設(shè)計(jì)工具箱( Filter Designer )可以非常方便地設(shè)計(jì)出符合工程要求的濾波器,在該工具箱中可以直接導(dǎo)出用于FPGA 濾波器設(shè)計(jì)的系數(shù)文件。

f73fdf72-fcc2-11ec-ba43-dac502259ad0.png

打開該工具箱后,默認(rèn)顯示如下:

f75506d6-fcc2-11ec-ba43-dac502259ad0.png

進(jìn)行簡單的設(shè)置:

濾波器類型:低通濾波器

濾波器形式:fir

濾波器階數(shù):100

頻率單位:MHz

采樣頻率:100MHz

通帶頻率:1MHz

截止頻率:2MHz

濾波器參數(shù)設(shè)置好后,點(diǎn)擊 Designer Filter 按鈕,稍等片刻,即可出現(xiàn)設(shè)計(jì)好的濾波器的頻幅相應(yīng)曲線。【注】由于是初學(xué)乍練,以上的參數(shù)設(shè)計(jì)的不一定合理,其中某些概念還不是很懂,還望通信大神指點(diǎn)。

f763a042-fcc2-11ec-ba43-dac502259ad0.png

由于要在FPGA中使用,還要將浮點(diǎn)型的系數(shù)轉(zhuǎn)化為定點(diǎn)數(shù)。如下圖設(shè)置,設(shè)置輸出格式為定點(diǎn)數(shù),位寬為16bit.

f7758424-fcc2-11ec-ba43-dac502259ad0.png

接下來就可以生成用于FPGA設(shè)計(jì)的系數(shù)文件了。在菜單【 Targets 】下點(diǎn)擊【 XILINX coefficient(.coe)file 】,保存即可。

f7899cde-fcc2-11ec-ba43-dac502259ad0.png

.coe文件中的內(nèi)容大致如下,存儲了濾波器的各個系數(shù),用16進(jìn)制表示。

f79a2e64-fcc2-11ec-ba43-dac502259ad0.png

至此,濾波器就設(shè)置完成了。

3.建立FPGA工程。

利用xilinx 的vivado工具來建立 fir 濾波器系統(tǒng),對上述的matlab 程序進(jìn)行硬件驗(yàn)證。兩路正弦波信號可以用vivado 的DDS IP生成,乘法操作用乘法器IP實(shí)現(xiàn),用vivado自帶的fir 濾波器實(shí)現(xiàn)濾波。利用vivado 的 block design 工具,可以不寫一行代碼,實(shí)現(xiàn)FPGA系統(tǒng)的搭建。先預(yù)覽下搭建好的一個簡單的fir 系統(tǒng)工程。

f7aea8c6-fcc2-11ec-ba43-dac502259ad0.png

該工程中,利用兩個DDS 輸出 1.5MHz 和 2.0MHz 的正弦波,利用乘法器IP進(jìn)行兩路信號的相乘,實(shí)現(xiàn)混頻操作。再講混頻的信號通過一個fir濾波器,實(shí)現(xiàn)濾波操作。先亮以下仿真結(jié)果,漂亮的波形圖。

f7bc8b6c-fcc2-11ec-ba43-dac502259ad0.png

濾波器完美輸出了0.5MHz的波形,濾掉了3.5MHz的高頻波。不過這是在仿真中的結(jié)果,在實(shí)際工程中,輸入的信號可能含有噪聲,失真等缺陷,實(shí)際效果不可能如此完美,但這個仿真結(jié)果也可以說明問題,在理想的輸入下,該濾波器可以完美地濾掉高頻波。下面詳細(xì)介紹 FPGA 工程的搭建。

1,建立 block design 工程。

在vivado 工具中點(diǎn)擊 create block design ,輸入 fir_system ( 該名稱可以任意指定 )。

f7d8449c-fcc2-11ec-ba43-dac502259ad0.png

2,添加IP。

在新打開的 Diagram 視圖中,添加IP 塊。點(diǎn)擊 “ + ”號,在彈出的對話框中輸入DDS,雙擊DDS compiler ,即可將DDS IP 加入到塊圖中。

f7e9b4ca-fcc2-11ec-ba43-dac502259ad0.png

按照上面的方法依次添加兩個 DDS( DDS compiler ) IP ,兩個截位( slice )IP ,一個fir濾波器(fir compiler) IP,一個乘法器( mult )IP,如下圖。

f803f48e-fcc2-11ec-ba43-dac502259ad0.png

3,設(shè)置IP。

IP添加后,還有經(jīng)過配置參數(shù)才能使用。雙擊IP 塊即可進(jìn)行配置。

(1)DDS配置。

兩個DDS模塊,一塊設(shè)置輸出為2.0MHz,一個設(shè)置輸出為1.5MHZ,其余設(shè)置保持相同即可。時鐘頻率一定要設(shè)置為100MHz,和前面matlab仿真保持一致。

f8121fbe-fcc2-11ec-ba43-dac502259ad0.png

f822490c-fcc2-11ec-ba43-dac502259ad0.png

另一個DDS設(shè)置為1.5MHz 。設(shè)置方法同上。需要注意的是,如上圖顯示,輸出數(shù)據(jù)端口(MAXISDATA_TDATA)為16bit ,高8位為 正弦波(sin)數(shù)據(jù),低8位為余弦波(cos)數(shù)據(jù)。

(2)slice IP設(shè)置。

該IP用于截位操作,設(shè)置如下,輸入為16bit,輸出為8bit,為16bit的bit7到bit0.位寬為8bit.該IP用于截取從DDS輸出的正弦波數(shù)據(jù)。

f82da612-fcc2-11ec-ba43-dac502259ad0.png

(3)乘法器IP配置。

輸入位寬設(shè)置為8bit 有符號數(shù),流水線級數(shù)采用建議的延時,設(shè)置為3.表示從輸入到乘法結(jié)果輸出經(jīng)過3個時鐘周期延時。其余可保持默認(rèn)。

f83f6ea6-fcc2-11ec-ba43-dac502259ad0.png

f8511c14-fcc2-11ec-ba43-dac502259ad0.png

(4)移位寄存器設(shè)置。

移位寄存器用以延時數(shù)據(jù)有效信號,使其與乘法器的輸出保持同步。由于乘法器有3個時鐘的延遲,故將移位寄存器深度也設(shè)置為3,使其輸出比輸入延遲3個時鐘周期。其余可保持默認(rèn)。

f8619ada-fcc2-11ec-ba43-dac502259ad0.png

(5)fir濾波器配置。

濾波器的系數(shù)設(shè)置為coe文件,加載前面在matlab生成的coe文件,稍等片刻即可在左邊窗口看到該濾波器的幅頻響應(yīng)曲線。將輸入采樣頻率和時鐘頻率都設(shè)置為100MHz。其余可默認(rèn)。

f8809e9e-fcc2-11ec-ba43-dac502259ad0.png

f88d6c00-fcc2-11ec-ba43-dac502259ad0.png

4,引出端口。

鼠標(biāo)選中端口,右鍵選擇 make external,即可導(dǎo)出端口。

f89e651e-fcc2-11ec-ba43-dac502259ad0.png

5,IP連接。

IP最終連接如下圖。

f8a974e0-fcc2-11ec-ba43-dac502259ad0.png

6,生成代碼。

按照下圖,選中塊設(shè)計(jì),右鍵先選擇 “ generate output product.。.”,等待完成后在選擇 “create HDL wrapper.。.”,即可自動生成頂層代碼。

f8c6e4ee-fcc2-11ec-ba43-dac502259ad0.png

如果出現(xiàn)下面的界面,可選擇下拉菜單中的最大值,這個選項(xiàng)表示運(yùn)行時vivado軟件可使用的最大核心數(shù)。

f8db9272-fcc2-11ec-ba43-dac502259ad0.png

最終自動生成的頂層代碼如下,就是對建立的原理圖工程做了模塊調(diào)用,其本質(zhì)還是Verilog代碼。

f8e84dfa-fcc2-11ec-ba43-dac502259ad0.png

4,F(xiàn)PGA仿真驗(yàn)證。建立如下的測試文件:

module tb_fir( );

wire [7:0]adc0_sin;

wire [7:0]adc1_sin;

wire [15:0]fir_in;

wire [39:0]fir_out_tdata;

wire fir_out_tvalid;

reg sysclk;

fir_system_wrapper fir_system_wrapper

.adc0_sin ( adc0_sin ),

.adc1_sin ( adc1_sin ),

.fir_in ( fir_in ),

.fir_out_tdata ( fir_out_tdata ),

.fir_out_tvalid ( fir_out_tvalid ),

.sysclk ( sysclk )

);

initial

begin

sysclk = 0;

#50000 $stop(2);

end

always #5 sysclk = ~sysclk;

Endmodule

由于該工程的邏輯已在源代碼中完成,故在測試文件只是對頂層模塊做了例化和產(chǎn)生時鐘信號。最后仿真結(jié)果如下圖:

f7bc8b6c-fcc2-11ec-ba43-dac502259ad0.png

濾波器完美輸出了0.5MHz的波形,濾掉了3.5MHz的高頻波。

原文標(biāo)題:matlab+vivado設(shè)計(jì)數(shù)字濾波器

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

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

    關(guān)注

    189

    文章

    3028

    瀏覽量

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

    關(guān)注

    162

    文章

    8463

    瀏覽量

    186214
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4976

    瀏覽量

    74360

原文標(biāo)題:matlab+vivado設(shè)計(jì)數(shù)字濾波器

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    【產(chǎn)品介紹】Modelsim:HDL語言仿真軟件

    仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺無關(guān),便于保護(hù)IP核,個性化的圖形界面和用戶接口,為用戶加快調(diào)錯提供強(qiáng)有力的手段,是FPGA/ASIC設(shè)計(jì)的首選仿真軟件。
    的頭像 發(fā)表于 11-13 11:41 ?668次閱讀
    【產(chǎn)品<b class='flag-5'>介紹</b>】Modelsim:HDL語言<b class='flag-5'>仿真</b>軟件

    英飛凌IPOSIM平臺加入基于SPICE的模型生成工具,助力提升系統(tǒng)級仿真精度

    【2025年10月27日,德國慕尼黑訊】英飛凌科技股份公司(FSE代碼:IFX/OTCQX代碼:IFNNY)推出的英飛凌功率仿真平臺(IPOSIM)被廣泛用于計(jì)算功率模塊、分立器件及盤式器件的損耗
    的頭像 發(fā)表于 10-27 17:03 ?746次閱讀
    英飛凌IPOSIM平臺加入基于SPICE的模型生成工具,助力提升系統(tǒng)級<b class='flag-5'>仿真</b>精度

    RISCV指令二進(jìn)制編碼利用matlab生成E203仿真可用文件

    鑒于nuclei studio IDE生成的.verilog難懂,為了方便對單條或者幾條指令進(jìn)行測試,我們隊(duì)伍編寫了matlab代碼來實(shí)現(xiàn)E203仿真可以識別到的文件。 matlab
    發(fā)表于 10-22 07:06

    【產(chǎn)品介紹】Altair HyperWorks多物理場仿真軟件

    AltairHyperWorks設(shè)計(jì)和仿真平臺Altair設(shè)計(jì)和仿真平臺涵蓋眾多學(xué)科,可以仿真結(jié)構(gòu)、運(yùn)動、流體、熱學(xué)、電磁學(xué)、電子學(xué)、控制和嵌入式系統(tǒng)。解決方案還提供人工智能解決方案和高保真
    的頭像 發(fā)表于 09-18 17:56 ?1095次閱讀
    【產(chǎn)品<b class='flag-5'>介紹</b>】Altair HyperWorks多物理場<b class='flag-5'>仿真</b>軟件

    vivado仿真時GSR信號的影響

    利用vivado進(jìn)行設(shè)計(jì)xilinx FPGA時,寫完設(shè)計(jì)代碼仿真代碼后,點(diǎn)擊run simulation(啟動modelsim進(jìn)行仿真)。
    的頭像 發(fā)表于 08-30 14:22 ?1553次閱讀
    vivado<b class='flag-5'>仿真</b>時GSR信號的影響

    無刷直流電機(jī)雙閉環(huán)控制的仿真研究

    Matlab/simulink 仿真模型進(jìn)行仿真實(shí)驗(yàn)驗(yàn)證。仿真結(jié)果表明,整個系統(tǒng)運(yùn)行平穩(wěn),具有良好的靜、動態(tài)特性,從而驗(yàn)證了所提出的控制策略的正確性和有效性。 純分享帖,點(diǎn)擊下方附件
    發(fā)表于 07-08 18:33

    OptiSystem應(yīng)用:用MATLAB組件實(shí)現(xiàn)振幅調(diào)制

    本案例展示了在OptiSystem中調(diào)用MATLAB代碼實(shí)現(xiàn)振幅調(diào)制。 一、建模目標(biāo) 案例中,我們生成兩束功率為0dBm,頻率分別為192.7THz、191THz的載波,合束之后經(jīng)過自定義脈沖的調(diào)制
    發(fā)表于 06-13 08:46

    Matlab與MWORKS軟件計(jì)算精度對比

    移動力在簡支梁上的位置輸入到y(tǒng)向量中。 其中Matlab編程代碼為 clear L=32;%簡支梁長 v=3.2;%運(yùn)行速度 dt=0.5; x0=0; n=20; y=zeros(1,n);%預(yù)設(shè)
    發(fā)表于 06-07 16:57

    利用MATLAB對交流電機(jī)調(diào)速系統(tǒng)進(jìn)行建模和仿真

    技術(shù)是借助計(jì)算機(jī)及相關(guān)技術(shù),對真實(shí)系統(tǒng)的運(yùn)行過程和狀態(tài)進(jìn)行數(shù)字化模擬的技術(shù)。Simulink作為MATLAB的一個組件,能夠?qū)崿F(xiàn)對動態(tài)系統(tǒng)的建模、仿真和綜合分析。本文在Simulink環(huán)境中建立面向電氣
    發(fā)表于 06-06 14:31

    詳解ADC電路的靜態(tài)仿真和動態(tài)仿真

    ADC電路主要存在靜態(tài)仿真和動態(tài)仿真兩類仿真,針對兩種不同的仿真,我們存在不同的輸入信號和不同的數(shù)據(jù)采樣,因此靜態(tài)仿真和動態(tài)
    的頭像 發(fā)表于 06-05 10:19 ?2282次閱讀
    詳解ADC電路的靜態(tài)<b class='flag-5'>仿真</b>和動態(tài)<b class='flag-5'>仿真</b>

    第三章 仿真介紹

    本篇文章我們介紹了W55MH32板載的WIZ-Link仿真器的使用方法,讓我們一起插上USB線開始下載、調(diào)試程序吧!
    的頭像 發(fā)表于 05-21 11:54 ?1059次閱讀
    第三章 <b class='flag-5'>仿真</b>器<b class='flag-5'>介紹</b>

    MATLAB如何助力全球巨頭實(shí)現(xiàn)智能化突破

    當(dāng)深度學(xué)習(xí)遇見汽車,一場靜默的技術(shù)革命正在發(fā)生。從Poclain Hydraulics 利用神經(jīng)網(wǎng)絡(luò)實(shí)時監(jiān)測電機(jī)溫度,到梅賽德斯-奔馳用虛擬傳感器替代硬件,再到康明斯通過 AI 模型加速發(fā)動機(jī)仿真——這些行業(yè)領(lǐng)軍者正借助 MATLAB 與 Simulink,將復(fù)雜算法轉(zhuǎn)化
    的頭像 發(fā)表于 05-16 14:51 ?1253次閱讀
    <b class='flag-5'>MATLAB</b>如何助力全球巨頭實(shí)現(xiàn)智能化突破

    MATLAB/Simulink驅(qū)動汽車行業(yè)能效革命

    在電動汽車與智能汽車蓬勃發(fā)展的浪潮中,高效的熱管理技術(shù)是平衡性能、續(xù)航與能耗的核心挑戰(zhàn)。從 Mahindra Electric(MEML) 通過系統(tǒng)級仿真優(yōu)化電池?zé)峁芾?,到重慶超力基于模型設(shè)計(jì)實(shí)現(xiàn)
    的頭像 發(fā)表于 05-14 14:22 ?963次閱讀
    <b class='flag-5'>MATLAB</b>/Simulink驅(qū)動汽車行業(yè)能效革命

    概倫電子電路類型驅(qū)動SPICE仿真器NanoSpice X介紹

    NanoSpice X是概倫電子推出的高精度、大容量并行SPICE仿真器,旨在解決電路仿真中的最具挑戰(zhàn)性任務(wù)。相較于上一代NanoSpice仿真器,NanoSpice X將平均仿真速度
    的頭像 發(fā)表于 04-23 15:30 ?1565次閱讀
    概倫電子電路類型驅(qū)動SPICE<b class='flag-5'>仿真</b>器NanoSpice X<b class='flag-5'>介紹</b>

    概倫電子千兆級高精度電路仿真器NanoSpice Giga介紹

    NanoSpiceGiga是概倫電子自主研發(fā)的千兆級晶體管級SPICE電路仿真器,通過基于大數(shù)據(jù)的并行仿真引擎處理十億以上單元的電路仿真,可以用于各類存儲器電路、定制數(shù)字電路和全芯片的仿真
    的頭像 發(fā)表于 04-23 15:21 ?1386次閱讀
    概倫電子千兆級高精度電路<b class='flag-5'>仿真</b>器NanoSpice Giga<b class='flag-5'>介紹</b>
    罗定市| 灌南县| 涪陵区| 定日县| 基隆市| 大港区| 收藏| 彭水| 泽库县| 合作市| 水富县| 长沙县| 高青县| 海林市| 林西县| 墨玉县| 迁安市| 海林市| 朝阳区| 镇安县| 定安县| 泰安市| 法库县| 景泰县| 洛川县| 余江县| 广宗县| 田林县| 卢湾区| 霍城县| 玉山县| 伊宁县| 郓城县| 阿拉尔市| 福贡县| 南平市| 寿阳县| 祁阳县| 曲沃县| 河南省| 岐山县|