




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、程序用matlab實現(xiàn),全都運行過,完美實現(xiàn) PCW能班級通信原理大作業(yè)-抽樣量化編碼譯碼的Matlab實現(xiàn)學(xué) 院電子工程學(xué)院學(xué) 號 *學(xué)生姓名* * *授課老師* * *、前言通信系統(tǒng)的信源有兩大類:模擬信號和數(shù)字信號。例如:話筒輸出的語音信 號屬于模擬信號;而文字、計算機數(shù)據(jù)屬于數(shù)字信號。數(shù)字信號相比于模擬信號 有抗干擾能力強、無噪聲積累的優(yōu)點。因此,若輸入是模擬信號,則在數(shù)字通信 系統(tǒng)的信源編碼部分需對輸入模擬信號進行數(shù)字化。數(shù)字化需要三個步驟:抽樣、量化和編碼。抽樣是指用每隔一定時間的信號 樣值序列來代替原來在時間上連續(xù)的信號,也就是在時間上將模擬信號離散化。 量化是用有限個幅度值近似
2、原來連續(xù)變化的幅度值,把模擬信號的連續(xù)幅度變?yōu)?有限數(shù)量的有一定間隔的離散值。編碼則是按照一定的規(guī)律,把量化后的信用二 進制數(shù)字表示,然后轉(zhuǎn)換成二值或多值的數(shù)字信號流。三個步驟如下圖所示:二、模擬信號的抽樣(1)低通模擬信號的抽樣原理抽樣定理:設(shè)一個連續(xù)模擬信號 m(t)中的最高頻率 < 3,則以間隔時間為T 0 1/23的周期性沖激脈沖對它抽樣時,m將被這些抽樣值所完全確定。下面對這個定理進行證明。設(shè)有一個最高頻率小于 儲的信號m(t)。將這個信號和周期性單位沖激脈沖T(t)相乘,乘積就是抽樣信號,它是一系列間隔為T秒的強度不等的沖激脈沖。這些沖激脈沖的強度等于相應(yīng)時刻上信號的抽樣值。
3、現(xiàn)用mS(t)m(kT)表示此抽樣信號序列。故有 mS(t) m(t) T(t)令M、 (f)和Ms(f)分別表示m、1和ms(t)的頻譜。計算可得:11Ms(f) M(f) (f nfs)M(f nfs)TnT上式表明,抽樣信號的頻譜Ms(f)是無數(shù)間隔頻率為nfs的原信號頻譜M(f)相疊加而成。m(t)、1和ms(t)的時域和頻域波形如下圖所示:信號m的最高頻率小于 3,若頻率間隔fs 2 3 ,則Ms(f)中包含的每個原信號頻譜M之間互不重疊。這樣就能夠從 Ms(f)中用一個低通濾波器分離出m(t)的頻譜M(f),也就是能從抽樣信號中恢復(fù)原信號。(2)模擬信號抽樣的Matlab實現(xiàn)及采樣
4、定理的驗證(a)編程思想令輸入的模擬信號m (t) =2.5 3sin(400 t) 2cos(140 t),由已學(xué)知識可知: m (t)的最高頻率 儲=200Hz,由抽樣定理知:當采樣頻率 fs 400Hz (采樣周 期小于1/400 s)時,抽樣信號可以完全確定原信號。由傅里葉變換知識得:模擬信號 m (t) =2.5 3sin(400 t) 2cos(140 t)的頻 譜 |M(f)|=2.5 ( f) 1.5 ( f 200)( f 70) 1.5 (f 200) (f 70)。分別令采樣頻率fs 400Hz和fs<400Hz,繪制出兩種情況下各自抽樣信號的頻譜,與原模擬信號的頻
5、譜進行比較。若只有當采樣頻率大于400Hz時,抽樣信號的頻譜才與原模擬信號相同,則可以驗證采樣定理的正確性。(b) Matlab輸出波形圖 模擬信號時域波形 10-5 00.10.20.30.40.50.60.70.80.915 0采樣序列 時域(符合采樣定理)200015001000500 0采樣序列頻域(符合采樣定理)-400-300-200-1000100200300400(C)結(jié)論由上圖可知:當采樣頻率小于2 fH時,抽樣信號的頻譜發(fā)生了混疊。而采樣頻率大于2 fH時,抽樣信號的頻譜與原模擬信號頻譜相同( d) Matlab 源代碼%sampling.m 對模擬信號采樣產(chǎn)生序列信號,并
6、驗證采樣定理t=0:0.001:1;%模擬信號時域和頻域波形x=2.5+3.*sin(200*2*pi*t)+2.*cos(70*2*pi*t);figure(1)subplot (2,1,1)plot(t,x);title('模擬信號日域波形)fs=linspace(-1000/2,1000/2,length(t);xf=fftshift(fft(x);subplot (2,1,2)plot(fs,abs(xf)%可知,信號最大頻率200Hztitle('模擬信號頻域波形)T=0.009;%不滿足采樣定理,采樣周期大于1/400n=0:1:1/T;xn=2.5+3.*sin(
7、200*2*pi*n*T)+2.*cos(70*2*pi*n*T);figure(2)subplot (2,1,1) stem(n,xn) title('采樣序列時域(不符合采樣定理)fns=linspace(-0.5/T,0.5/T,length(n);xnf=fftshift(fft(xn);subplot (2,1,2) plot(fns,abs(xnf) title('采樣序列頻域(不符合采樣定理)T=0.0013;%滿足采樣定理,采樣周期小于1/400n=0:1:1/T;xn=2.5+3.*sin(200*2*pi*n*T)+2.*cos(70*2*pi*n*T);
8、figure(3)subplot (2,1,1) stem(n,xn) title('采樣序列時域(符合采樣定理)fns=linspace(-0.5/T,0.5/T,length(n);xnf=fftshift(fft(xn);subplot (2,1,2) plot(fns,abs(xnf) title('采樣序列頻域(符合采樣定理)三、抽樣信號的非均勻量化編碼(13折線法)(1)脈沖編碼調(diào)制簡介模擬信號抽樣后變成時間離散的信號,經(jīng)過量化后,此抽樣信號才能成為數(shù) 字信號。分析可知:最簡單的均 勻量化器對于小輸入信 號很不 利。為了改善小信號時的信號量 噪比,在實際應(yīng)用中常采用
9、非均 勻量化。非均勻量化時,量化間隔隨信 號抽樣值的不同而變化。信號抽 樣值小時,量化間隔 V也小;信 號抽樣值大時,量化間隔 V也變 大。F/I2R J/16U32實際應(yīng)用中,用13折線法近似A壓縮律,來進行非均勻量化圖中橫坐標x在0至1區(qū)間中分為不均勻的8段。1/2至1間的線段稱為第8段;1/4至1/2間的線段稱為第7段;1/8至1/4間的線段稱為第6段;依此 類推。圖中縱坐標y則均勻地劃分作8段。將與這8段相應(yīng)的座標點(x, y)相 連,就得到了一條折線。在語音通信中,通常采用8位的PCM®碼就能夠保證滿意的通信質(zhì)量。在13折線法中采用的折疊碼有8位。第一位c1表示量化值的極性
10、正負。后面的7位分為段落碼和段內(nèi)碼兩部分,用于表示量化值的絕對值。其中第 2至4 位(c2 c3 c4)是段落碼,共計3位,可以表示8種斜率的段落;其他4位(c5 -c8) 為段內(nèi)碼,可以表示每一段落內(nèi)的16種量化電平。段內(nèi)碼代表的16個量化電平 是均勻劃分的。所以,這7位碼總共能表示27 = 128種量化值在下面的表中給出了段落碼和段內(nèi)碼的編碼規(guī)則段落 序號段落碼c2 c3 c4段落范圍(量 化單位)81 1 11024204871 1 0512102461 0 125651251 0 012825640 1 16412830 1 0326420 0 1163210 0 0016量化間隔段內(nèi)
11、碼c5 c6 c7 c8151 1 1 1141 1 1 0141 1 0 1121 1 0 0111 0 1 1101 0 1 091 0 0 181 0 0 070 1 1 160 1 1 050 1 0 140 1 0 030 0 1 120 0 1 010 0 0 100 0 0 0在上述編碼方法中,段內(nèi)碼是按量化間隔均勻編碼的,但是因為各個段落的斜率不等,長度不等,故不同段落的量化間隔是不同的。其中第 1和2段最短,斜率最大,其橫坐標x的歸一化動態(tài)范圍只有1/128。再將其等分為16小段后,每一小段的動態(tài)范圍只有(1/128)/(1/16) = 1/2048。第8段最長,其橫坐標x的
12、動態(tài)范圍為1/2。將其16等分后,每段長度為1/32。假若采用均勻量化而仍希望對于小電壓保持有同樣的動態(tài)范圍1/2048,則需要用11位的碼組才行。現(xiàn)在采用非均勻量化,只需要7位就夠了(2) 13折線法編碼的Matlab實現(xiàn)(a)編程思想上面“模擬信號的抽樣”已經(jīng)得到了時間離散、幅度連續(xù)的抽樣信號。若將 對抽樣信號非均勻量化編碼編出的 8位碼組用Ci c2 c3 c4 c5 c6 C7 C8表示。(1)抽樣信號是ixn的矩陣,例如采樣周期T=0.0013; n=0:1:1/T; 則有 770個抽樣值,13折現(xiàn)法編碼后得到的則是770X 8的矩陣,一行對應(yīng)一個抽樣 值的8位PC咖組。每個抽樣值的
13、編碼思想都是一樣的,若要進行多個抽樣值的 編碼,進行for循環(huán)即可。下面闡述單個抽樣值的編碼思路。(2)確定極性碼a:利用matlab的符號函數(shù)sign(x) : x<0時,sign(x)=-1 ;c1=1;x=0 時,sign(x)=0; x>0 時,sign(x)=1。所以,若 sign (x)大于等于 0,否貝U c1=0例如:+1000, sign (1000) =1,所以 c1二1。(3)確定段落碼c2 c3c4: PCM1新線編碼的動態(tài)范圍為-2048-2048 ,而上一步驟中已經(jīng)求出了各抽樣信號極性,于是只要對抽樣信號的絕對值分析即可。故對抽樣值依次進行取模、歸一、乘
14、以 2048、取整的操作,可以將抽樣值轉(zhuǎn)化為0-2048之間的整數(shù)。根據(jù)段落碼與段落范圍的關(guān)系,使用 if語句即可確定c2 63 c 4。例如:+1000,因為 1000> 128,故 02=1;又 1000512,故 c3=1;又 1000 <1024,故c4=0。對于其他取值情況,判斷方法與此類似。(4)確定段內(nèi)碼05 06 c7 G :每一段落均被均勻地劃分為16個量化間隔,不 過不同段落的量化間隔是不同的。(3)中確定了段落編碼,可以確定每段的起始 值,再根據(jù)待編碼值、所在段的起始值、所在段量化間隔的大小即可確定段內(nèi)碼。例如:+1000, 02 03 c4 =110,故10
15、00處于第7段(二進制110轉(zhuǎn)化為十進制得到 6,6+1=7)sp=0,16,32,64,128,256,512,1024;% 每段起始值spmin=1,1,2,4,8,16,32,64;% 每段的最小量化間隔再得到段起始值sp (7) =512,段最小量化間隔spmin (7) =32。1000 5123215.25,向負無窮方向取整得到15,再將15十進制轉(zhuǎn)化為二進制,得到 1111,故 C5 c6 c7 C8 =1111令Matlab程序輸入為S=1000,可得:S =1000抽樣信號進行13折線編碼后的碼組為(每一行代表一個抽樣值,共1個值)code =11101111(可知:程序運行
16、結(jié)果與上述分析結(jié)果相同)(5)若碼組矩陣初始化為全0陣,則只有當某個碼為1時,才需要進行賦值。例如:-100, sign (-100) =-1, C1=0。而G初始化值就為0,故可以不采取 任何操作,保持初始值即可。(b) Matlab輸出結(jié)果抽樣信號進行13折線編碼后的碼組為(每一行代表一個抽樣值,共770個值)code =1111001111111110100100101110001110110100000101101110111111101110011110001111101111010001110100011110101110000101101101001111101111011100
17、0001100111101001101011011011000100011101(c)源代碼%pcm depcm comp.m 對抽樣信號進行量化編碼譯碼,將譯碼輸出值與原抽樣值比較%13折線法編碼源代碼T=0.0013;n=0:1:1/T;xn=2.5+3.*sin(200*2*pi*n*T)+2.*cos(70*2*pi*n*T);%采樣產(chǎn)生的抽樣信號 figure(4)subplot(2,1,1)stem(n,xn)title('抽樣得到的序列)z=sign(xn);%判斷S的正負xnnor=abs(xn)/max(abs(xn); %xn 取模并且歸一化 S=2048*xnno
18、r;S=floor(S);%向負無窮方向取整subplot(2,1,2)stem(n,S)axis(0,800,-2020,2020)title('取模、歸一、乘2048、取整后的序列)code=zeros(length(S),8);%初始化碼組矩陣為全零陣%極性碼第一位和段落碼第二三四位for i=1:length(S)if z(i)>=0 code(i,1)=1;%不改變依舊為0endif (S(i)>=128)code(i,2)=1;if (S(i)>=512)code(i,3)=1;if (S(i)>=1024) code(i,4)=1;endelsei
19、f (S(i)>=256) code(i,4)=1;end end else if (S(i)>=32) code(i,3)=1; if (S(i)>=64) code(i,4)=1;endelseif (S(i)>=16) code(i,4)=1;endendend end%段內(nèi)碼,第五六七八位N=zeros(1,length(S);for i=1:length(S)N(i尸bin2dec(num2str(code(i,(2:4)+1;%找至U code位于第幾段endsp=0,16,32,64,128,256,512,1024;%每段起始值spmin=1,1,2,4
20、,8,16,32,64;%每段的最小量化間隔for i=1:length(S)loc=floor(S(i)-sp(N(i)/spmin(N(i); %向負無窮方向取整,段內(nèi)第幾段 if (loc=16)loc=loc-1;end%正負2048時,loc=16,當做15處理for k=1:4code(i,9-k)=mod(loc,2);loc=floor(loc/2);end%十進制數(shù)轉(zhuǎn)化為4位二進制endfprintf('抽樣信號進行13折線編碼后的碼組為(每一行彳t表一個抽樣值,共%d個值)',length(S)code%code為13折線譯碼后的碼組, 是length(S)
21、*8的矩陣(3)8 位 PCM 碼的譯碼實現(xiàn)(a)編程思想(1)由0可以確定抽樣值的正負,a=1,抽樣值為正;否則為負。( 2)c2 c3 c4 確定抽樣值的段落序號,c5 c6 c7 c8 確定抽樣值在段內(nèi)第幾個量化間隔。( 3)譯碼時,通常是將碼組轉(zhuǎn)化為此量化間隔的中間值。例如:+1000編碼后的8位碼組為1110111,對1110111進行解碼。c1 =1,故抽樣值為正。c2 c3 c4 =110,二進制轉(zhuǎn)化為十進制為6,6+1=7,故抽樣值在第7段。sp=0,16,32,64,128,256,512,1024;%段落起點值spmin=1,1,2,4,8,16,32,64;%最小量化間隔
22、c5 c6 c7 c8 =1111,二進制轉(zhuǎn)為十進制為15,故抽樣值在段內(nèi)第15段。sp( 7) =512, spmin( 7) =32。11101111譯碼值為(992+1024) /2=1008。也就是 sp (7) +spmin (7) 乂 ( 15+0.5) =512+32X 15.5=1008故利用段落碼和段內(nèi)碼即可編程實現(xiàn)譯碼。令 Matlab 譯碼程序輸入為1 1 1 0 1 1 1 1 ,運行結(jié)果如下:dcode =111011118位 PCM 碼譯碼后的數(shù)值為(共1個值)dS =1008(可知:與上面理論分析結(jié)果一致)(b) Matlab輸出結(jié)果(將前面編碼得到 770X 8
23、的碼組矩陣作為輸入)8 位 PCM 碼譯碼后的歸一化數(shù)值為(共770 個值)dS =Columns 1 through 100.60940.95310.39840.49220.7969Columns 11 through 200.32030.28910.82810.2734-0.19920.1523Columns 21 through 300.82810.67190.20700.12890.47660.0645Columns 31 through 40-0.08010.60940.9219-0.1191-0.19920.3828Columns 41 through 500.3984-0.036
24、10.25780.67190.2070-0.3203(c)源代碼-0.09960.25780.4609-0.06840.7344-0.0149-0.08010.41410.51560.85940.2891-0.24610.41410.21480.67190.60940.9219 0.76560.17580.3359-0.2070%十三折線解碼源代碼dcode=code; %將上面產(chǎn)生的770個碼值作為輸入,decodeH length(S)*8的矩陣 sp=0,16,32,64,128,256,512,1024;%段落起點值spmin=1,1,2,4,8,16,32,64;%最小量化間隔dS=zeros(1,size(dcode,1);for i=1:size(dcode,1)par=bin2dec(num2str(dcode(i,(2:4)+1; %段落位置 parmid=bin2dec(num2str(dcode(i,(5:8); % 段間位置
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西藏拉薩中學(xué)2024-2025學(xué)年5月高考化學(xué)試題模練習(一)含解析
- 遼寧省葫蘆島市六校聯(lián)考2025年初三下學(xué)期第一次階段性檢測試題物理試題含解析
- 南京交通職業(yè)技術(shù)學(xué)院《Python程序設(shè)計語言》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西建設(shè)職業(yè)技術(shù)學(xué)院《作物栽培原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西工程職業(yè)學(xué)院《數(shù)據(jù)結(jié)構(gòu)與算法實驗》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安醫(yī)學(xué)院《白描》2023-2024學(xué)年第二學(xué)期期末試卷
- 股權(quán)轉(zhuǎn)讓居間協(xié)議書補充協(xié)議書
- 集資房屋買賣協(xié)議書
- 專科生答辯秘籍
- 物業(yè)服務(wù)合作協(xié)議書二零二五年
- 《財務(wù)風險的識別與評估管理國內(nèi)外文獻綜述》
- 井蓋管理應(yīng)急預(yù)案
- 鵪鶉蛋脫殼機的設(shè)計
- 行為安全觀察behaviorbasedsafety研究復(fù)習過程
- 動火作業(yè)風險告知牌
- 鍋爐專業(yè)術(shù)語解釋及英文翻譯對照
- 綜采工作面末采安全技術(shù)措施
- 《小石潭記》作業(yè)設(shè)計
- 密封圈定位套零件的機械加工夾具設(shè)計說明書
- 旅行社等級評定申報材料完整版
- 大粒種子精播機的設(shè)計【玉米、大豆快速精密雙行播種機含9張CAD圖紙】
評論
0/150
提交評論