




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗項目名稱信號存儲與回放實驗目的設計并制作一個數字化信號存儲與回放系統。實驗要求1.信號頻率約為30Hz,波形為單極性正弦波和三角波,Vpp~4V;2.ADC:采樣頻率fs=4kHz,字長=8位;3.信號存儲時間≥4秒;4.DAC:轉換頻率fC=4kHz,字長=8位;5.示波器觀察,回放波形無明顯失真;6.回放方式:直通方式(采集數據后直接回放,不存儲)、單次回放、循環回放;7.具有采集完成指示;8.數據編碼:4位DPCM(1位符號,3位數據)。9.計算對Vpp為5V單極性正弦波,4位DPCM編碼,不失真的信號最大頻率。實驗設備與元器件QuartusII軟件1套FPGA1套函數信號發生器1臺項目背景5.1脈沖編碼調制—PCM脈沖編碼調制(pulsecodemodulation,PCM)是概念上最簡單、理論上最完善的編碼系統,是最早研制成功、使用最為廣泛的編碼系統,但也是數據量最大的編碼系統。下圖為PCM系統的原理框圖:抽樣抽樣量化編碼信道干擾m(t)ms(t)msq(t)A/D變換譯碼低通濾波msq(t)m(t)圖中,輸入的模擬信號m(t)經抽樣、量化、編碼后變成了數字信號(PCM信號),經信道傳輸到達接收端,由譯碼器恢復出抽樣值序列,再由低通濾波器濾出模擬基帶信號m(t)。通常,將量化與編碼的組合即為模/數變換器(A/D變換器);而譯碼與低通濾波的組合即為數/模變換器(D/A變換器)。前者完成由模擬信號到數字信號的變換,后者則相反,即完成數字信號到模擬信號的變換。PCM在通信系統中完成將語音信號數字化功能。根據CCITT的建議,為改善小信號量化性能,采用非均勻量化,有兩種建議方式,分別為A律和μ律方式,我國采用了A律方式,由于A律壓縮實現復雜,常使用13折線法編碼,采用非均勻量化PCM編碼。5.2增量調制(△M)增量調制是脈沖編碼調制的一種特殊形式,即1比特量化的差值脈碼。在PCM系統中,將信號抽樣值編為多位二進制碼。為提高編碼質量,要增加碼長,導致設備復雜。而增量調制每次抽樣只用一位二進制碼表示,它表示了相鄰樣值的增減變化,這樣,編碼設備十分簡單。首先,根據信號的幅度大小和和抽樣頻率確定階梯信號的臺階。在抽樣時刻,比較信號和前一時刻的階梯波形取值,其中:1如果,則用上升一個臺階表示,此時編碼器輸出"1"碼;2如果,則用下降一個臺階表示,此時編碼器輸出"0"碼。下次編碼按上述方法將與比較,使之上升或下降一個臺階電壓去逼近模擬信號。如果抽樣頻率足夠高,臺階電壓足夠小,則階梯波形近似為m(t),而上升臺階和下降臺階的二進制代碼分別用"1"和"0"表示。這個過程就是增量編碼。如圖所示的模擬信號m(t)采用增量調制編碼編出的二進制代碼為:01010111111100011。增量調制信號的譯碼器可由一個積分器來實現,如圖(a)所示,當積分器的輸入為"1"碼時(即輸入為脈沖電壓),就以固定斜率上升一個(等于),當積分器的輸入為"0"碼時(即輸入為脈沖電壓),就以固定斜率下降一個。積分器輸出雖已接近原來模擬信號,但往往含有不必要的高次諧波分量,故需再經低通濾波器平滑,這樣,就可得到十分接近模擬信號的輸出信號。5.3DPCM編碼DPCM編碼,簡稱差值編碼,是對模擬信號幅度抽樣的差值進行量化編碼的調制方式。這種方式是用已經過去的抽樣值來預測當前的抽樣值,對它們的差值進行編碼。差值編碼可以提高編碼頻率,這種技術已應用于模擬信號的數字通信之中。對于有些信號(例如圖像信號)由于信號的瞬時斜率比較大,很容易引起過載,因此,不能用簡單增量調制進行編碼,除此之外,這類信號也沒有像話音信號那種音節特性,因而也不能采用像音節壓擴那樣的方法,只能采用瞬時壓擴的方法。但瞬時壓擴實現起來比較困難,因此,對于這類瞬時斜率比較大的信號,通常采用一種綜合了增量調制和脈沖編碼調制兩者特點的調制方法進行編碼,這種編碼方式被簡稱為脈碼增量調制,或稱差值脈碼調制,用DPCM表示。這種調制方式的主要特點是把增量值分為多個等級,然后把個不同等級的增量值編為二進制代碼再送到信道傳輸,因此,它兼有增量調制和PCM的各自特點。經過DPCM調制后的信號,其傳輸的比特率要比PCM的低,相應要求的系統傳輸帶寬也大大地減小了。此外,在相同比特速率條件下,DPCM比PCM信噪比也有很大的改善。與ΔM相比,由于它增多了量化級,因此,在改善量化噪聲方面優于ΔM系統。DPCM的缺點是易受到傳輸線路上噪聲的干擾,在抑制信道噪聲方面不如ΔM。實驗原理電路示意圖存儲器存儲器DAC解碼器DPCM編碼ADC控制器實驗內容及步驟按照實驗要求中:采樣頻率fs=4KHz以及轉換頻率fc=4KHz所以采用系統時鐘1MHz進行250分頻。配置ADC以及DAC,實現直通功能來檢測配置是否正確。生成RAM模塊,編寫編碼解碼模塊。編寫存儲第一個8位數模塊。模塊級聯,測試功能。實驗過程8.1頂層設計8.2輸入輸出模塊輸入Clk-系統時鐘wr-clr編碼器相關寄存器清零Start—數據采集使能rd_clr譯碼器相關寄存器清零Outen—輸出使能TLC55108位并行AD輸入輸出DA-clkDA輸出時鐘AD-clkAD采樣時鐘AD-enAD使能位(置0)DA-NCDA的兩個低位接地DADA數據輸出8.2.1分頻器模塊設計outclk:輸出4KHz的頻率clk:輸入1MHz的頻率對1MHZ進行250分頻從而獲得精確的4KHZ的系統時鐘moduledividefreq(clk,outclk);inputclk;//inputclk1MHZ 1000/250=4KHZoutputregoutclk;reg[6:0]acc;always@(posedgeclk)begin acc<=acc+1'b1; if(acc==125) begin outclk<=~outclk; acc<=0; endendendmodule8.3初始值記錄模塊modulefirst_num(ad,num,start,clk,wr_en,clr);inputstart,clk,clr;input[7:0]ad;outputreg[7:0]num;outputregwr_en;regflag;initialbeginflag=0;endalways@(posedgeclkorposedgeclr)begin if(clr) begin num<=0; wr_en<=0; flag<=0; end else if(!flag) if(start) begin num<=ad; wr_en<=1; flag<=1; endendendmodule當start被置1時,數據開始采集。首先由還模塊采集第一個8位數據進行鎖存后,wr_en(寫入使能位)輸出位被置1,同時base[7..0]輸出初值,DPCM編碼模塊部分開始工作,將編碼后數據存入ram中。8.4DPCM編碼模塊8.4.1當前值與前次值寄存模塊由兩個簡單的8位寄存器級聯而成,每次在系統時鐘上升沿進行AD采樣后將數據送入第一個寄存器的同時將上一次采樣數據送入第二個寄存器。modulejcq8b(clk,in8,out8,clr); inputclk,clr; input[7:0]in8; outputreg[7:0]out8; always@(posedgeclkorposedgeclr) begin if(clr) out8<=0; else out8<=in8; endendmodule8.4.2差值運算電路此模塊作用將兩個8位寄存器的輸出相減,即為2次采樣的差值,從而實現DPCM編碼。考慮到可能會有溢出,故此處使用除法器模塊對兩個8位寄存器的輸出相減后再操作,雖然降低了AD的分辨率,但可以使失真頻率顯著提高。modulesubdiy(a,b,c); input[7:0]a,b; output[3:0]c; assignc=a-b;endmodule此處為實現補碼運算的目的,沒有調用宏模塊中的減法器,此段verilog直接實現了補碼運算的功能,故ram模塊中所存儲的為差值的補碼。8.4.3ram寫入控制部分及其外圍模塊寫入控制部分主體為一個模16000的計數器(由于ram為4bit*16000),當初值模塊完成初值采集后wr_en位被置1,該寫地址控制寄存器開始工作,并且將ram塊上的wren寫輸入控制置1開始寫入數據。當該計數器計滿時,由于cout與上wr_en反饋到了clk_en,將該地址寄存器鎖住后不再計數,需要通過外部按鍵將編碼器清零后才可以重新開始。同時complete_flag模塊判斷cout變1后,顯示采集完成標志,即1個數碼管由0變F。modulecomplete_flag(clk,clr,cout,seg);inputclr,cout,clk;outputreg[3:0]seg;always@(posedgeclk)begin if(clr) seg<=0; else begin if(cout) seg<=4'b1111; endendendmodule8.5ram模塊8.6DPCM譯碼模塊8.6.1補碼轉換模塊由于ram中存儲的為4位的補碼,初值為8位數值,無法直接相加。首先需要將數據處理成8位補碼,從ram中取出4位數據低3位數據位進行乘2(由于編碼時對差值進行了除2的做法),而最高位符號位用于補碼轉換時做判斷。modulequbuma(a,b,q3); input[3:0]a; inputq3; output[7:0]b; assignb=(q3==0)?({4'b0000,a[3:0]}):({4'b1111,a[3:0]});endmodule8.6.2累加模塊Base[7..0]即為采集的8位初值Diff[7..0]即為經過前級處理后的8位補碼差值Radd_en為讀取使能信號,由總控制模塊輸出Outen為外部輸入輸出使能信號Rd_clr為外部輸入譯碼器清零信號Cycle_clr為當進行循環播放時每循環一次進行一次清零,防止由于ram塊中記錄的第一個數據與最后一個數據間未知的差值造成累加的錯誤。moduleacc(base,diff,outx,clk,clr,en);//whenen==1accummulateinput[7:0]base,diff;inputclk,clr,en;outputreg[7:0]outx;regflag;initialbeginflag=0;endalways@(posedgeclkorposedgeclr)begin if(clr) begin flag<=0; outx<=0; end else begin if(en) begin if(!flag) begin outx<=base+diff; flag<=1; end else outx<=outx+diff; end endendendmodule8.7系統輸出控制模塊8.7.1總控模塊//choose[1:0]為輸出使能編碼位,ad[7..0]為直接采集的AD數據,memory[7..0]為譯碼后數據,feed_backen為ram的讀控制地址寄存器的cout反饋使能位,radd_en為控制讀取ram中數據的讀使能位。當choose為00,01時為直通模式此時feed_backen為0,radd_en為0;當其為10時為單詞播放模式(通過譯碼器清零按鍵wr_clr可實現多次單次播放),此時feed_backen為1,radd_en為1;當其為11時候為循環播放模式,此時feed_backen為0,radd_en為1。modulecontrol(choose,ad,da,memory,feedback_en,radd_en,en);input[1:0]choose;input[7:0]ad,memory;inputen;outputreg[7:0]da;outputregfeedback_en,radd_en;always@(*)begin case(choose) 2'b01:begin da=(en==1)?ad:da; radd_en=0; feedback_en=0; end 2'b10:begin da=(en==1)?memory:da; radd_en=1; feedback_en=1; end 2'b11:begin //recyclereading da=(en==1)?memory:da; radd_en=1; feedback_en=0; end default:begin da=(en==1)?ad:da; radd_en=0; feedback_en=0; end endcaseendendmodule8.7.2ram讀地址控制模塊及其外圍電路Feedback_en以及radd_en即為系統主控器的輸出,用于控制單次或循環播放模式。該模塊中的cycle_clr輸出在循環播放時用于每次循環時給譯碼器中的累加器模塊清零。實驗數據計算最大不失真頻率Matlab仿真代碼clearall;clcvpp=4.0;%%輸入信號vpp的值forf=25:100%預計失真頻率的范圍ad=zeros(1,16000);%%初始化列向量用于存儲采集的16000個數據j=0;n=1;fori=1:(4*(10^6))%用循環模擬時間,其中每一次循環為1微秒,4秒即10的6次方t=i/(10^6);%將時間單位換算為秒nowf=(vpp/2)*sin((2*pi*f)*t)+(vpp/2);%由當前循環的頻率模擬出實時的輸入電壓
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 拌合站罐車安全協議書
- 茶房合作協議書
- 部門交接協議書
- 策劃宣傳協議書
- 研磨介質協議書
- 房屋免打孔分割協議書
- 終止探望協議書
- 姑娘和婆婆同住協議書
- 酒業入股協議書
- 碰車解決協議書
- 壓縮空氣管道管理規定模版(3篇)
- 三大音樂教學法在課堂中的應用研究-講座課件
- 防汛搶險人員安全培訓
- 一例支氣管肺炎合并右肺實變患兒的護理查房
- 含兩級混合運算(同步練習) 二年級下冊數學人教版
- 2024年七月醫療器械質量管理制度
- 2024年高考真題-歷史(安徽卷) 含答案
- GB/T 32124-2024磷石膏的處理處置規范
- 2024版中國血脂管理指南
- 高考志愿填報師資格新版考試題及答案
- 人教版(PEP)2024年小升初英語試卷(含答案)
評論
0/150
提交評論