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

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

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

【技能秒get】如何使用MATLAB一鍵制作mif文件

NJ90_gh_bee81f8 ? 來(lái)源:未知 ? 作者:steve ? 2018-05-09 15:22 ? 次閱讀

這里講解實(shí)現(xiàn)一個(gè)16384(2^14)點(diǎn)的14位正弦波數(shù)據(jù)mif格式文件的生成,使用此文件,我們便可以在FPGA上基于直接數(shù)字合成(DDS)原理生成標(biāo)準(zhǔn)的正弦波,即實(shí)現(xiàn)信號(hào)發(fā)生器的功能。

關(guān)于DDS原理的相關(guān)內(nèi)容,請(qǐng)參考由北航出版社出版的《FPGA自學(xué)筆記——設(shè)計(jì)與驗(yàn)證》一書第六章第6.2節(jié)—— “雙通道幅頻相可調(diào)DDS信號(hào)發(fā)生器” 一節(jié)的內(nèi)容。

在很早之前,我曾編寫過(guò)一個(gè)生成1024點(diǎn)16位正弦波mif文件的方法,不過(guò)那時(shí)候我的matlab技術(shù)還特別特別菜(現(xiàn)在也很菜),只是在matlab中簡(jiǎn)單的實(shí)現(xiàn)了正弦波數(shù)據(jù)的生成,關(guān)于四舍五入取整以及mif文件的最終生成,我用了excel和quartus兩個(gè)軟件經(jīng)過(guò)了復(fù)雜的操作才最終完成。

如今,自己都對(duì)那種方法沒(méi)有了耐心,剛好新做的一個(gè)雙通道14位高速DAC模塊在做DDS實(shí)驗(yàn)時(shí)需要用到14位的mif數(shù)據(jù),因此今天對(duì)matlab的腳本文件重新編寫了下,實(shí)現(xiàn)了僅通過(guò)Matlab就可以一鍵生成mif文件的功能。

首先,打開(kāi)MATLAB軟件,小梅哥這里使用的版本為MATLAB 2012b。新建一個(gè)Script文件,操作為File —>New—>Script。在該文件中輸入以下內(nèi)容:

F1=1;%信號(hào)的頻率

Fs=2^14;%采樣頻率

P1=0;%信號(hào)初始相位

N=2^14;%采樣點(diǎn)數(shù)為N

t=[0:1/Fs:(N-1)/Fs];%采樣時(shí)刻

ADC=2^13 - 1;%直流分量

A=2^13;%信號(hào)幅度

s=A*sin(2*pi*F1*t +pi*P1/180) + ADC;%生成信號(hào)

plot(s);%繪制圖形

fild =fopen('d:/sin14bit_16384.mif','wt');%創(chuàng)建mif文件

%寫入mif文件文件頭

fprintf(fild,'%s ','WIDTH=14;');%位寬

fprintf(fild,'%s ','DEPTH=16384;');%深度

fprintf(fild,'%s ','ADDRESS_RADIX=UNS;');%地址格式

fprintf(fild,'%s ','DATA_RADIX=HEX;');%數(shù)據(jù)格式

fprintf(fild,'%s ','CONTENT');%地址

fprintf(fild,'%s ','BEGIN');%

fori= 1:N

s2(i) =round(s(i));%對(duì)小數(shù)四舍五入以取整

ifs2(i) <0?????%強(qiáng)制將負(fù)1置0,

s2(i) = 0

end

% addr : data;

fprintf(fild,' %g ',i-1);%地址,從0開(kāi)始編碼

fprintf(fild,'%s ',':');

fprintf(fild,'%x',s2(i));

fprintf(fild,'%s ',';');

end

用戶如果想自己生成其他深度和位寬的數(shù)據(jù),只需要對(duì)應(yīng)修改采樣頻率(Fs)、采樣點(diǎn)數(shù)(N)、直流分量(ADC)和信號(hào)幅度(A)即可。

保存文件,點(diǎn)擊運(yùn)行按鈕,即可生成我們所需要的正弦波數(shù)據(jù),并在電腦的D盤根目錄生成一個(gè)名為“sin14bit_16384 .mif”的文件。

【技能秒get】如何使用MATLAB一鍵制作mif文件

隨后,會(huì)彈出如下圖1所示的界面,該界面便是以我們生產(chǎn)的數(shù)據(jù)為值,t為時(shí)間軸繪制出來(lái)的波形,從波形可知為標(biāo)準(zhǔn)的正弦波,你也可以通過(guò)放大縮小來(lái)具體查看幾個(gè)頂點(diǎn)的值,以確定數(shù)據(jù)是否在自己預(yù)期的范圍內(nèi)。這里,我們直接關(guān)掉該界面即可。

下圖2為使用該文件設(shè)計(jì)的DDS信號(hào)發(fā)生器系統(tǒng),輸出頻率為3.448Mhz(隨機(jī)設(shè)置的一個(gè)值),通過(guò)示波器的FFT功能可以看到,諧波量并不大。

【技能秒get】如何使用MATLAB一鍵制作mif文件

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

    關(guān)注

    185

    文章

    2976

    瀏覽量

    230474
  • mif文件
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    6250

原文標(biāo)題:使用MATLAB一鍵制作mif文件

文章出處:【微信號(hào):gh_bee81f890fc1,微信公眾號(hào):面包板社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    一鍵校準(zhǔn)你的電腦時(shí)間(精確到哦?。?/a>

    一鍵校準(zhǔn)你的電腦時(shí)間(精確到哦?。?nbsp;[此貼子已經(jīng)被作者于2008-10-15 13:19:44編輯過(guò)]
    發(fā)表于 10-15 12:58

    一鍵校準(zhǔn)你的電腦時(shí)間(精確到哦?。?/a>

    一鍵校準(zhǔn)你的電腦時(shí)間(精確到哦?。┱洳亓撕芫玫?b class='flag-5'>一個(gè)小軟件,很小很強(qiáng)大很方便...今天這個(gè)版塊終于出來(lái)了,小小的修改了下,拿出來(lái)給大家分享下!
    發(fā)表于 03-02 16:23

    一鍵還原小工具

    刪除文件夾、隱藏備份分區(qū)、設(shè)置熱鍵啟動(dòng)、重建主引導(dǎo)記錄、一鍵重裝系統(tǒng)等等。1、 啟用超級(jí)模塊,能在系統(tǒng)崩潰時(shí)DOS狀態(tài)下恢復(fù)系統(tǒng),建議啟用。超級(jí)模塊允許用戶自定義系統(tǒng)備份文件夾的屬性,可以創(chuàng)建普通
    發(fā)表于 05-14 16:14

    系統(tǒng)一鍵還原工具

    刪除文件夾、隱藏備份分區(qū)、設(shè)置熱鍵啟動(dòng)、重建主引導(dǎo)記錄、一鍵重裝系統(tǒng)等等。1、 啟用超級(jí)模塊,能在系統(tǒng)崩潰時(shí)DOS狀態(tài)下恢復(fù)系統(tǒng),建議啟用。超級(jí)模塊允許用戶自定義系統(tǒng)備份文件夾的屬性,可以創(chuàng)建普通
    發(fā)表于 05-27 12:46

    一鍵還原系統(tǒng)

    一鍵還原高級(jí)和擴(kuò)展功能說(shuō)除了簡(jiǎn)便易操作的一鍵備份和還原功能,本程序還具有高級(jí)增強(qiáng)擴(kuò)展功能,例如設(shè)置啟動(dòng)密碼、創(chuàng)建防刪除文件夾、隱藏備份分區(qū)、設(shè)置熱鍵啟動(dòng)、重建主引導(dǎo)記錄、一鍵重裝系統(tǒng)等
    發(fā)表于 06-18 20:41

    一鍵還原系統(tǒng)工具2.0

    的GHO/ISO鏡像。重啟之后會(huì)執(zhí)行重裝系統(tǒng)的后續(xù)步驟老毛桃一鍵還原高級(jí)和擴(kuò)展功能說(shuō)除了簡(jiǎn)便易操作的一鍵備份和還原功能,本程序還具有高級(jí)增強(qiáng)擴(kuò)展功能,例如設(shè)置啟動(dòng)密碼、創(chuàng)建防刪除文件夾、隱藏備份分區(qū)、設(shè)置
    發(fā)表于 08-05 19:53

    一鍵還原系統(tǒng)工具

    的GHO/ISO鏡像。重啟之后會(huì)執(zhí)行重裝系統(tǒng)的后續(xù)步驟老毛桃一鍵還原高級(jí)和擴(kuò)展功能說(shuō)除了簡(jiǎn)便易操作的一鍵備份和還原功能,本程序還具有高級(jí)增強(qiáng)擴(kuò)展功能,例如設(shè)置啟動(dòng)密碼、創(chuàng)建防刪除文件夾、隱藏備份分區(qū)、設(shè)置
    發(fā)表于 08-08 16:59

    一鍵還原V2.0

    的GHO/ISO鏡像。重啟之后會(huì)執(zhí)行重裝系統(tǒng)的后續(xù)步驟老毛桃一鍵還原高級(jí)和擴(kuò)展功能說(shuō)明 除了簡(jiǎn)便易操作的一鍵備份和還原功能,本程序還具有高級(jí)增強(qiáng)擴(kuò)展功能,例如設(shè)置啟動(dòng)密碼、創(chuàng)建防刪除文件夾、隱藏備份
    發(fā)表于 10-27 16:50

    小梅哥和你起深入學(xué)習(xí)FPGA之mif文件制作

    實(shí)現(xiàn)信號(hào)發(fā)生器的功能。小梅哥的DDS實(shí)驗(yàn)已經(jīng)做完,目前還沒(méi)有進(jìn)行文檔的編寫。朋友今天邀請(qǐng)我為他制作個(gè)1024點(diǎn)的16位的正弦波mif文件,實(shí)現(xiàn)之后,發(fā)現(xiàn)過(guò)程中涉及到
    發(fā)表于 11-10 00:01

    【小梅哥FPGA】使用Matlab一鍵制作mif文件

    由于是純文檔型內(nèi)容,這里就不發(fā)帖了,直接發(fā)文檔源文件出來(lái),大家自行下載使用即可。
    發(fā)表于 04-30 10:42

    一鍵生效的BI智能分析功能,專治數(shù)據(jù)分析效率低

    ,提高報(bào)表制作操作效率,讓分析人員得以將時(shí)間、精力投入到數(shù)據(jù)深度分析中去。 奧威BI軟件_一鍵生效的分析功能(部分)BI軟件擁有眾多智能數(shù)據(jù)分析功能,包括行計(jì)算、智能鉆取、高效聯(lián)動(dòng)、公共篩選等,這些智能
    發(fā)表于 11-25 17:14

    基于FPGA的mif文件怎么創(chuàng)建?

    本文詳細(xì)討論了基于FPGA的mif文件創(chuàng)建與使用,對(duì)于mif文件創(chuàng)建與使用均給出了兩種可行性的方法。mif
    發(fā)表于 05-06 06:04

    基于FPGA的mif文件創(chuàng)建與使用

     mif文件的創(chuàng)建與使用是在基于FPGA的系統(tǒng)設(shè)計(jì)中引入ROM的關(guān)鍵環(huán)節(jié)。對(duì)mif文件的創(chuàng)建與使用展開(kāi)詳細(xì)討論,給出兩種可行性方法,并引入實(shí)例在MAX+PLUS Ⅱ環(huán)境下做了
    發(fā)表于 12-13 17:47 ?42次下載

    移動(dòng)叔叔一鍵制移動(dòng)叔叔一鍵制作MTK智能機(jī)IMEI串號(hào)工具作MT

    移動(dòng)叔叔一鍵制作MTK智能機(jī)IMEI串號(hào)工具
    發(fā)表于 11-02 17:30 ?15次下載

    MIF文件生成器下載

    MIF文件生成器,可以依據(jù)自己需要生成正弦波、三角波、鋸齒波、方波的MIF文件。自定義寬度、點(diǎn)數(shù)、初始相位。
    發(fā)表于 02-15 11:56 ?18次下載