資源簡介
1).模擬PCM編碼;
2).模擬PCM在AWGN信道的譯碼;
3).完成實驗任務和記錄實驗數據,整理實驗結果,完成實踐報告
有報告和源程序

代碼片段和文件信息
%---------------------采樣------------------
t=0:0.1:6*pi;
fs=10;
T=1/fs;
n=0:1:94;
x=sin(t);??????????????????????????%原始模擬信號
xn=sin(n.*T);??????????????????????%采樣信號
figure(1);
subplot(211);
plot(tx);??title(‘時域信號‘);?
xlabel(‘t‘);?ylabel(‘幅度‘);
line([06*pi][00]‘color‘‘k‘);
axis([06*pi-11]);
subplot(212);
stem(nxn);??title(‘采樣信號‘);?
xlabel(‘n‘);?ylabel(‘幅度‘);
%------------------對采樣值進行量化--------------------
Is=xn.*2048;
n=length(xn);
codess=zeros(n8);
i=1:n;
for?i=1:n
????if(Is(i)>=0)
???????codess(i1)=1;?????????????%判斷正負號
????else
????????codess(i1)=0;
????end
????%------------------段落碼編碼--------------------
????if?abs(Is(i))>=0?&&?abs(Is(i))<16???????????
????????codess(i2)=0;codess(i3)=0;codess(i4)=0;step=1;start=0;
????elseif?abs(Is(i))>=16?&&?abs(Is(i))<32
????????codess(i2)=0;codess(i3)=0;codess(i4)=1;step=1;start=16;
????elseif?abs(Is(i))>=32?&&?abs(Is(i))<64
????????codess(i2)=0;codess(i3)=1;codess(i4)=0;step=2;start=32;
????elseif?abs(Is(i))>=64?&&?abs(Is(i))<128
????????codess(i2)=0;codess(i3)=1;codess(i4)=1;step=4;start=64;
????elseif?abs(Is(i))>=128?&&?abs(Is(i))<256
????????codess(i2)=1;codess(i3)=0;codess(i4)=0;step=8;start=128;
????elseif?abs(Is(i))>=256?&&?abs(Is(i))<512
????????codess(i2)=1;codess(i3)=0;codess(i4)=1;step=16;start=256;
????elseif?abs(Is(i))>=512?&&?abs(Is(i))<1024
????????codess(i2)=1;codess(i3)=1;codess(i4)=0;step=32;start=512;
????elseif?abs(Is(i))>=1024?&&?abs(Is(i))<2048
????????codess(i2)=1;codess(i3)=1;codess(i4)=1;step=64;start=1024;
????end
????%----------------段內碼------------------
????B=floor((abs(Is(i))-start)/step);???%floor函數有四舍五入的功能
????t=dec2bin(B4)?-48;?????????????????%十進制轉二進制
????codess(i5:8)=t(1:4);
end
codess2=reshape(codess‘18*n);
figure(2);
stem(codess2);
title(‘編碼值‘);?axis([0?32?0?1.5]);
%----------------------加入噪聲-----------------
y=pcm_noise(codess);?
%--------------PCM譯碼-------------------------------
slot(1)=0;slot(2)=16;slot(3)=32;slot(4)=64;
slot(5)=128;slot(6)=256;slot(7)=512;slot(8)=1024;
step_1(1)=1;step_1(2)=1;step_1(3)=2;step_1(4)=4;
step_1(5)=8;step_1(6)=16;step_1(7)=32;step_1(8)=64;
m1=length(y);%-------------------------加入噪聲-------------
sg_out_1=zeros(195);
for?k=1:m1
????ss=(y(k1))*2-1;????????%提取符號
????teep=y(k2)*4+y(k3)*2+y(k4)*1+1;??%計算C2C3C4
????cds=round(teep);
????sl_m=slot(cds);???????????????????%得出區間
????dat_m=(y(k5)*8+y(k6)*4+y(k7)*2+y(k7)*1+0.5)*step_1(cds);??%計算C5C6C7C8
????sg_out_1(k)=ss*(sl_m+dat_m)/2048;???%還原
end
%------------------------------------------------------
m2=length(codess);%----------------未加入噪聲----------------
sg_out_2=zeros(195);
for?k=1:m2
????ss=(codess(k1))*2-1;????????%提取符號
????teep=codess(k2)*4+codess(k3)*2+codess(k4)*1+1;??%計算C2C3C4
????cds=round(teep);
????sl_m=slot(cds);???????????????????%得出區間
????dat_m=(codess(k5)*8+codess(k6)*4+codess(k7)*2+codess(k7)*1+0.5)*step_1(cds);??%計算C5C6C7C8
????sg_out_
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-06-20?21:38??PCM編譯碼\
?????文件??????454056??2020-06-20?21:38??PCM編譯碼\PCM編譯碼.docx
?????文件????????6108??2018-12-31?17:10??PCM編譯碼\shijian8.m
?????文件????????6108??2018-12-31?17:21??PCM編譯碼\shijian8.txt
?????文件???????36574??2018-12-31?15:53??PCM編譯碼\shijian8_1.png
?????文件???????18328??2018-12-31?16:09??PCM編譯碼\shijian8_2.png
?????文件???????47476??2018-12-31?17:07??PCM編譯碼\shijian8_3.png
評論
共有 條評論