第一篇:實(shí)驗(yàn)一 VC開發(fā)環(huán)境的使用和常用算法的編程概要
實(shí)驗(yàn)一 VC開發(fā)環(huán)境的使用和常用算法的編程
一、實(shí)驗(yàn)?zāi)康?/p>
熟悉VC++6.0的集成開發(fā)環(huán)境,學(xué)會(huì)用它編寫、調(diào)試、運(yùn)行程序。
二、實(shí)驗(yàn)要求
對(duì)VC++6.0集成開發(fā)環(huán)境進(jìn)行操作,用它編寫、調(diào)試和運(yùn)行常用的程序,初步掌握使用方法;在課后編程題目中任選一題,編好程序,上機(jī)進(jìn)行調(diào)試和運(yùn)行,同時(shí)養(yǎng)成好的程序書寫風(fēng)格。
三、實(shí)驗(yàn)報(bào)告要求
1.寫出編程題目;
2.寫出題目分析(提取出算法和設(shè)計(jì)思路); 3.寫出源代碼;
4.寫出多次運(yùn)行的記錄或出錯(cuò)調(diào)試信息(上機(jī)時(shí)寫); 5.寫出實(shí)驗(yàn)后的心得體會(huì)(上機(jī)后寫)。
四、上交源代碼要求
1.從網(wǎng)絡(luò)提交;
2.文件名包含:編程題目名稱、班級(jí)、姓名; 3.第二周前提交。
第二篇:實(shí)驗(yàn)一 DSP Builder設(shè)計(jì)應(yīng)用概要
湖南文理學(xué)院電氣與信息工程學(xué)院 《嵌入式系統(tǒng)及應(yīng)用》 實(shí) 驗(yàn) 指 導(dǎo) 書
指導(dǎo)教師:伍宗富
實(shí)驗(yàn)一 DSP Builder設(shè)計(jì)應(yīng)用 實(shí)驗(yàn)學(xué)時(shí):4學(xué)時(shí) 實(shí)驗(yàn)類型:綜合 實(shí)驗(yàn)要求:必做
一、實(shí)驗(yàn)?zāi)康?/p>
1.掌握DSP Builder設(shè)計(jì)應(yīng)用的方法。2.掌握FIR濾波器的設(shè)計(jì)步驟。
3.掌握MATLAB、DSP Builder、Quartus II的綜合應(yīng)用。
二、實(shí)驗(yàn)原理
1.4階FIR濾波器子系統(tǒng)設(shè)計(jì)
] 為了便于調(diào)用子系統(tǒng)模塊的更高級(jí)系統(tǒng)進(jìn)行SignalCompile分析,必須對(duì)生成的子系統(tǒng)模塊的“Mask type”進(jìn)行設(shè)置。
使用“Mask Subsystem…”中的“Documentation”設(shè)置“Mask type”為“SubSystem AlteraBlockSet”就可以利用SignalCompiler正確地生成VHDL代碼
2.直接I型16階FIR數(shù)字濾波器設(shè)計(jì) SignalCompiler 16個(gè)常數(shù)端口設(shè)置濾波器的系數(shù),可根據(jù)具體要求進(jìn)行計(jì)算而確定。3.使用MATLAB的濾波器設(shè)計(jì)工具,獲得濾波器系數(shù)。(1打開Matlab的FDATool “start”->“ToolBoxes”->“Filter Design”-> FDATool
(2選擇Design Filter 設(shè)計(jì)濾波器(階級(jí)選N-1=16-1=15(3濾波器分析(查看其幅頻特性曲線(4導(dǎo)出濾波器系數(shù)(File-> Export…
注:在Matlab主窗口的命令窗口中鍵入變量名并乘量級(jí)數(shù)轉(zhuǎn)換fir16_data*(2^8會(huì)顯示數(shù)據(jù),如FIR濾波器模型使用還需轉(zhuǎn)為整數(shù)round(fir16_data*(2^8。將顯示數(shù)據(jù)記錄并輸入上面 16個(gè)常數(shù)端口完成設(shè)置濾波器的系數(shù)
4.Quartus工程實(shí)現(xiàn)
5.掃頻模塊設(shè)計(jì)(產(chǎn)生實(shí)驗(yàn)用輸入信號(hào)
Adder Subtractor2 D ecrem ent3 注:仿真時(shí)將位值改小點(diǎn),仿真后再改回來
Adder Subtractor2 Decrement3 6.FIR濾波器仿真(濾波器系數(shù)改變,則濾波器性能發(fā)生變化。
三、實(shí)驗(yàn)內(nèi)容
設(shè)計(jì)一個(gè)16階的低通FIR濾波器,對(duì)模擬信號(hào)的采樣頻率Fs為48KHz,要求信號(hào)的截止頻率為Fc=10.8KHz,輸入序列為寬為9位(最高位為符號(hào)位。
四、實(shí)驗(yàn)步驟
1.使用DSP Builder完成4階FIR濾波器子系統(tǒng)模型設(shè)計(jì)。2.使用DSP Builder完成直接I型16階FIR數(shù)字濾波器模型設(shè)計(jì)。3.使用MATLAB的濾波器設(shè)計(jì)工具,獲得濾波器系數(shù)。
4.在DSP Builder中修改直接I型16階FIR數(shù)字濾波器模型濾波系數(shù),并將其轉(zhuǎn)換為Quartus工程文件。
5.使用Quartus完成FIR濾波器工程設(shè)計(jì)調(diào)試。
五、實(shí)驗(yàn)組織運(yùn)行要求
本實(shí)驗(yàn)利用DSP Builder、MATLAB、Quartus設(shè)計(jì)一個(gè)FIR濾波器,實(shí)驗(yàn)程序并不是很復(fù)雜,為了提高學(xué)生獨(dú)立設(shè)計(jì)的能力,應(yīng)采用以學(xué)生自主訓(xùn)練為主的開放模式組織教學(xué),然后在指導(dǎo)老師的監(jiān)督下,由學(xué)生自己動(dòng)手,按實(shí)驗(yàn)要求完成任務(wù),最后由指導(dǎo)老師檢查實(shí)驗(yàn)結(jié)果后方可離開。
(1畫出系統(tǒng)的原理框圖,說明系統(tǒng)中各主要組成部分的功能。(2熟悉各個(gè)VHDL源程序。(5記錄系統(tǒng)仿真、硬件驗(yàn)證結(jié)果。
(6記錄實(shí)驗(yàn)過程中出現(xiàn)的問題及解決辦法。
六、實(shí)驗(yàn)條件 1.計(jì)算機(jī)一臺(tái);2.DSP Builder、MATLAB、Quartus開發(fā)工具軟件;3.SOPC開發(fā)板。
七、實(shí)驗(yàn)注意事項(xiàng)
1.做實(shí)驗(yàn)項(xiàng)目要建立工程文件夾,且為英文路徑和名稱。2.學(xué)生必須嚴(yán)格按實(shí)驗(yàn)操作規(guī)程進(jìn)行實(shí)驗(yàn),要用U盤保存數(shù)據(jù)。3.使用實(shí)驗(yàn)開發(fā)板進(jìn)行硬件驗(yàn)證時(shí),必須愛護(hù)實(shí)驗(yàn)開發(fā)裝置。
八、思考題
1.如何設(shè)計(jì)其它類型的濾波器,如16階帶通、高通、帶阻的FIR濾波器? 2.如何在MATLAB中使用DSP Builder完成FIR濾波器仿真?
九、實(shí)驗(yàn)報(bào)告要求
實(shí)驗(yàn)結(jié)束后,學(xué)生應(yīng)根據(jù)做實(shí)驗(yàn)情況,認(rèn)真完成實(shí)驗(yàn)報(bào)告的書寫。實(shí)驗(yàn)報(bào)告應(yīng)包括實(shí)驗(yàn)?zāi)康摹?shí)驗(yàn)內(nèi)容、儀器設(shè)備、實(shí)驗(yàn)原理或電路、源程序清單、實(shí)驗(yàn)步驟、實(shí)驗(yàn)結(jié)果及分析和實(shí)驗(yàn)過程中出現(xiàn)的問題及解決方法等。
附錄: 實(shí)驗(yàn)報(bào)告范例(報(bào)告用實(shí)驗(yàn)紙手寫,圖手畫)實(shí)驗(yàn) X(實(shí)驗(yàn)課題)1.實(shí)驗(yàn)?zāi)康?1)掌握 DSP Builder 設(shè)計(jì)應(yīng)用的方法。2)掌握 FIR 濾波器的設(shè)計(jì)步驟。3)掌握 MATLAB、DSP Builder、Quartus II 的綜合應(yīng)用。2.實(shí)驗(yàn)內(nèi)容(……)3.實(shí)驗(yàn)條件 1)計(jì)算機(jī)一臺(tái); 2)DSP Builder、MATLAB、Quartus 開發(fā)工具軟件; 3)SOPC 開發(fā)板。4.實(shí)驗(yàn)設(shè)計(jì) 1)設(shè)計(jì)原理(設(shè)計(jì)思路、框圖、工作原理……)2)設(shè)計(jì)實(shí)現(xiàn)(各模塊邏輯功能描述及編譯后模型圖等)3)器件選擇及管腳鎖定說明 5.實(shí)驗(yàn)結(jié)果及總結(jié) 1)系統(tǒng)仿真情況 2)硬件驗(yàn)證情況 3)實(shí)驗(yàn)過程中出現(xiàn)的問題及解決辦法 6
第三篇:C語言實(shí)驗(yàn)一 熟悉C程序開發(fā)環(huán)境、進(jìn)行簡單程序的調(diào)試
實(shí)驗(yàn)一 熟悉C程序開發(fā)環(huán)境、進(jìn)行簡單程序的調(diào)試
實(shí)驗(yàn)?zāi)康模?/p>
1、初步了解vc++6.0環(huán)境;
2、熟悉掌握調(diào)試C程序的步驟。
實(shí)驗(yàn)內(nèi)容:
1、如何進(jìn)入vc++6.0環(huán)境?如何新建一C程序文件并進(jìn)行調(diào)試?
2、對(duì)教材中例1.1至例1.3在vc++6.0環(huán)境中進(jìn)行調(diào)試。
3、上機(jī)調(diào)試教材課后習(xí)題4、5題。
實(shí)驗(yàn)原理、步驟與分析:
【要求】每個(gè)實(shí)驗(yàn)內(nèi)容都要先寫出其實(shí)現(xiàn)的基本原理,再寫出實(shí)驗(yàn)步驟,最后根據(jù)每個(gè)實(shí)驗(yàn)內(nèi)容的實(shí)驗(yàn)結(jié)果進(jìn)行分析說明。
第四篇:實(shí)驗(yàn)一__Linux下C編程
實(shí)驗(yàn)一 Linux下C編程
一. 實(shí)驗(yàn)?zāi)康模?/p>
1. 熟練使用vi中的常見操作,并且熟悉vi的3種模式;
2. 熟練掌握gcc編譯命令及gdb的調(diào)試命令;通過對(duì)有問題程序的跟蹤調(diào)試,進(jìn)一步提高發(fā)現(xiàn)問題和解決問題的能力;
3. 通過對(duì)包含文件的makefile的編寫,熟悉各種形式的makefile; 4. 通過使用autotools生成包含多文件的makefile。二. 實(shí)驗(yàn)內(nèi)容
1. 熟練使用vi(1)在“/root”目錄下建一個(gè)名為“vi”的目錄;(2)進(jìn)入“vi”目錄;
(3)將文件“/etc/inittab”復(fù)制到“vi”目錄下;(4)使用vi打開“vi”目錄下inittab;
(5)設(shè)定行號(hào),指出設(shè)定initdefault的所在行號(hào);(6)將光標(biāo)移到該行;(7)復(fù)制該行內(nèi)容;
(8)將光標(biāo)移到最后一行行首;(9)粘貼復(fù)制行的內(nèi)容;(10)撤銷第9步操作;
(11)將光標(biāo)移到最后一行行尾;(12)粘貼復(fù)制行的內(nèi)容;
(13)光標(biāo)移到“si::sysinit:/etc/rc.d/rc.sysinit”;(14)刪除該行;(15)存盤但不退出;(16)將光標(biāo)移到行首;
(17)插入模式下輸入“Hello,this is vi world!”;(18)返回命令行模式;
(19)向下查找字符串“0:wait”;(20)向上查找字符串“halt”;(21)強(qiáng)制退出vi,不存盤。實(shí)驗(yàn)步驟見書本P87 2. 用gdb調(diào)試程序中的bug(1)使用vi編輯器將一下代碼輸入到名為greet.c的文件中。此代碼的原意為輸出倒序main函數(shù)中定義的字符串,但結(jié)果顯示沒有輸出。代碼如下所示:(2)使用gcc編譯這段代碼,注意加上“-g”選項(xiàng)以方便之后的調(diào)試;(3)運(yùn)行生成的可執(zhí)行文件,觀察運(yùn)行結(jié)果;
(4)使用gdb調(diào)試程序,通過設(shè)置斷點(diǎn),單步跟蹤,一步步找出錯(cuò)誤所在;(5)糾正錯(cuò)誤,更改源程序并得到正確結(jié)果; 實(shí)驗(yàn)步驟見書本P88
3. 編寫包含多文件的makefile(1)用vi在同一目錄下編輯兩個(gè)簡單的hello程序,如下所示:
#hello.c
#include “hello.c”
int main()
{
printf(“Hello everyone!n”);
}
#hello.h
#include
(2)仍在同一目錄下用vi編輯makefile文件,且不使用變量替換,用一個(gè)目標(biāo)體實(shí)現(xiàn),然后用make驗(yàn)證所編寫的makefile是否正確;
(3)仍將上述makefile使用變量替換實(shí)現(xiàn),同樣用make驗(yàn)證所編寫的makefile是否正確;
(4)編輯另一個(gè)makefile,取名為makefile1,不使用變量替換,但用兩個(gè)目標(biāo)體實(shí)現(xiàn)(首先將hello.c和hello.h編譯為hello.o,再將hello.o編譯為hello),再用make的“-f”選項(xiàng)驗(yàn)證這個(gè)makefile的正確性;(5)將上述makefile1使用變量替換實(shí)現(xiàn) 實(shí)驗(yàn)步驟見書本P90 4. 使用autotools生成包含多文件的makefile(1)在原目錄下新建文件夾auto(2)將上例中的兩個(gè)代碼文件“hello.c”和“hello.h”復(fù)制到該目錄下(3)使用autoscan生成configure.scan(4)編輯configure.scan,修改相關(guān)內(nèi)容,并將其重命名為configure.in(5)使用aclocal生成aclocal.m4(6)使用autoconf生成configure(7)使用autoheader生成config.h.in(8)編輯makefile.am(9)使用automake生成makefile.in(10)使用configure生成makefile(11)使用make生成hello可執(zhí)行文件,并在當(dāng)前目錄下運(yùn)行hello查看結(jié)果(12)使用make install將hello安裝到系統(tǒng)目錄下,并運(yùn)行,查看結(jié)果(13)使用make dist生成hello壓縮包(14)解壓hello壓縮包(15)進(jìn)入解壓目錄
(16)在該目錄下安裝hello軟件 實(shí)驗(yàn)步驟見書本P91 三. 實(shí)驗(yàn)結(jié)果截圖
1.實(shí)驗(yàn)一截圖
Linux下的簡單的運(yùn)用:
圖一 對(duì)inittab文件做完處理后的文件結(jié)果:
圖二
圖三
2.實(shí)驗(yàn)二截圖
第一遍運(yùn)行g(shù)reet.c的結(jié)果:
圖四 用gdb調(diào)試的過程:
圖五
圖六
圖七
圖八
圖九
3.實(shí)驗(yàn)三截圖 第一次運(yùn)行的結(jié)果
圖十 第一次運(yùn)行makefile的結(jié)果:
圖十一 第二次運(yùn)行makefile的結(jié)果:
圖十二 第一次運(yùn)行makefile1的運(yùn)行結(jié)果:
圖十三 第二次運(yùn)行makefile的運(yùn)行結(jié)果:
圖十四 四. 實(shí)驗(yàn)心得體會(huì)
1.對(duì)于實(shí)驗(yàn)一:
復(fù)習(xí)了linux 下面對(duì)于文件編輯的一些知識(shí)。
2.對(duì)于實(shí)驗(yàn)二:
學(xué)會(huì)了gdb調(diào)試的簡單運(yùn)用:gdb l()-查看源代碼;gdb b()-設(shè)置斷點(diǎn);gdb info b-查看斷點(diǎn)情況;gdb r-運(yùn)行代碼; gdb n-單步運(yùn)行代碼; gdb p()-查看;gdb c-繼續(xù)運(yùn)行; gab q-退出;對(duì)于以后代碼的改錯(cuò)很有幫助。
3.對(duì)于實(shí)驗(yàn)三:
實(shí)驗(yàn)三是我做的最不開心的一個(gè)了,開始在運(yùn)行makefile,不管怎么樣都是錯(cuò)的,可是檢查卻沒有任何錯(cuò)誤,后來想起來以前做makefile的時(shí)候要用tab鍵縮進(jìn)的,這樣之后發(fā)現(xiàn)就可以了。這個(gè)實(shí)驗(yàn)雖然讓我很煩,但是想起了以前學(xué)liunx的好多東西,幫助很大,也覺得以前知識(shí)要常復(fù)習(xí),這樣才不容易忘。
第五篇:實(shí)驗(yàn)一 熟悉MATLAB軟件環(huán)境及命令窗口的使用實(shí)驗(yàn)報(bào)告
三、實(shí)驗(yàn)內(nèi)容
1.命令窗口的簡單使用
(1)簡單矩陣的輸入
A=[1 2 3;4 5 6;7 8 9] 或者[1,2,3;4,5,6;7,8,9]
——》
A=(2)求[12+2×(7-4)]÷3的算術(shù)運(yùn)算結(jié)果——》
a=7;b=4;c=2;d=12;e=3;f=a-b;g=c*f;h=d+g;k=d/e;m=k/e----->m
=2 2.有關(guān)向量、矩陣或數(shù)組的一些運(yùn)算
(1)設(shè)A=15;B=20;求C=A+B與c=a+b? A=15;B=20;C=A+B------->C=
35(2)設(shè)A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B與A.*B?
A=[1 2 3;4 5 6;7 8 9];B=[9 8 7;6 5 4;3 2 1];C=A*B------->C=
C=A.*B--------->C= 16 21 25 24
16 9
(3)設(shè)A=10,B=20;求C=A/B與D=AB? A=10;B=20;C=A/B------------->C=
0.5
D=AB-------->D=
2(4)設(shè)a=[1-2 3;4 5-4;5-6 7] 請(qǐng)?jiān)O(shè)計(jì)出程序,分別找出小于0的矩陣元素及其位置(單下標(biāo)、全下標(biāo)的形式),并將其單下標(biāo)轉(zhuǎn)換成全下標(biāo)。n=0;For i=0:1:2 For j=0:1:2 While(a[i][j]<0)b[n]=a[i][j];n=n+1;End B[n](5)在MATLAB命令行窗口運(yùn)行A=[1,2;3,4]+i*[5,6;7,8];看結(jié)果如何?如果改成運(yùn)行A=[1,2;3,4]+i[5,6;7,8],結(jié)果又如何?
(6)請(qǐng)?jiān)O(shè)計(jì)出程序完成下列計(jì)算:
a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?
a=[1 2 3;3 4 2;5 2 3];b=[1 2 3;3 4 2;5 2 3];c=a*b----------->c=
C=a.*b---------->c=
(7)有一段程序設(shè)計(jì)如下,請(qǐng)思考并說明運(yùn)行結(jié)果及其原因
clear
X=[1 2;8 9;3 6];
X(:)8)使用兩種方法,創(chuàng)建一對(duì)角矩陣