实验二信号的采样与重建一,实验目的(1)通过观察采样信号的混叠现象,进一步理解奈奎斯特采样频率的意义。(2)通过实验,了解数字信号采样转换过程中的频率特征。(3)对实际的音频文件作内插和抽取操作,体会低通滤波器在内插和抽取中的作用。二,实验内容(1)采样混叠,对一个模拟信号Va(t)进行等间采样,采样频率为200HZ,得到离散时间信号V(n).Va(t)由频率为30Hz,150Hz,170Hz,250Hz,330Hz的5个正弦信号的加权和构成。Va(t)=6cos(60pi*t)+3sin(300pi*t)+2cos(340pi*t)+4cos(500pi*t)+10sin(660pi*t)观察采样后信号的混叠效应。程序:clear,closeall,t=0:0.1:20;Ts=1/2;n=0:Ts:20;V=8*cos(0.3*pi*t)+5*cos(0.5*pi*t+0.6435)-10*sin(0.7*pi*t);Vn=8*cos(0.3*pi*n)+5*cos(0.5*pi*n+0.6435)-10*sin(0.7*pi*n);subplot(221)plot(t,V),gridon,subplot(222)stem(n,Vn,'.'),gridon,05101520-40-200204005101520-40-2002040(2)输入信号X(n)为归一化频率f1=0.043,f2=0.31的两个正弦信号相加而成,N=100,按因子M=2作抽取:(1)不适用低通滤波器;(2)使用低通滤波器。分别显示输入输出序列在时域和频域中的特性。程序:clear;N=100;M=2;f1=0.043;f2=0.31;n=0:N-1;x=sin(2*pi*f1*n)+sin(2*pi*f2*n);y1=x(1:2:100);y2=decimate(x,M,'fir');figure(1);stem(n,x(1:N));title('inputsequence');xlabel('n');ylabel('fudu');figure(2);n=0:N/2-1;stem(n,y1);title('outputsequencewithoutLP');xlabel('n');ylabel('fudu');figure(3);m=0:N/M-1;stem(m,y2(1:N/M));title('outputsequencewithLP');xlabel('n');ylabel('fudu');figure(4);[h,w]=freqz(x);plot(w(1:512),abs(h(1:512)));title('frequencyspectrumoftheinputsequence');xlabel('w');ylabel('fudu');figure(5);[h,w]=freqz(y1);plot(w(1:512),abs(h(1:512)));title('frequencyspectrumoftheoutputsequencewithoutLP');xlabel('w');ylabel('fudu');figure(6);[h,w]=freqz(y2);plot(w(1:512),abs(h(1:512)));title('frequencyspectrumoftheoutputsequencewithoutLP');xlabel('w');ylabel('fudu');0102030405060708090100-2-1.5-1-0.500.511.52inputsequencenfudu05101520253035404550-2-1.5-1-0.500.511.52outputsequencewithoutLPnfudu05101520253035404550-1.5-1-0.500.511.5outputsequencewithLPnfudu00.511.522.533.505101520253035404550frequencyspectrumoftheinputsequencewfudu00.511.522.533.5051015202530frequencyspectrumoftheoutputsequencewithoutLPwfudu00.511.522.533.50510152025frequencyspectrumoftheoutputsequencewithoutLPwfudu(3)输入信号X(n)为归一化频率f1=0.043,f2=0.31的两个正弦信号相加而成,长度N=50,内插因子为2.(1)不适用低通滤波器;(2)使用低通滤波器。分别显示输入输出序列在时域和频域中的特性。程序:clear,closeall,N=50;L=2;f1=0.043;f2=0.31;n=0:N-1;x=sin(2*pi*f1*n)+sin(2*pi*f2*n);figure(1);stem(n,x(1:N));title('inputsequence');xlabel('n');ylabel('fudu');y1=zeros(1,N*2);y1(1:2:N*2)=x;figure(2);m=0:N*L-1;stem(m,y1(1:N*L));title('outputsequence');xlabel('n');ylabel('fudu');y2=interp(x,L);figure(3);m=0:N*L-1;stem(m,y2(1:N*L));title('outputsequence');xlabel('n');ylabel('fudu');figure(4);[h,w]=freqz(x);plot(w(1:512),abs(h(1:512)));title('frequencyspectrumoftheinputsequence');xlabel('w');ylabel('fudu');figure(5);[h,w]=freqz(y1);plot(w(1:512),abs(h(1:512)));title('frequencyspectrumoftheoutputsequence');xlabel('w');ylabel('fudu');figure(6);[h,w]=freqz(y2);plot(w(1:512),abs(h(1:512)));title('frequencyspectrumoftheoutputsequence');xlabel('w');ylabel('fudu');05101520253035404550-2-1.5-1-0.500.511.52inputsequencenfudu0102030405060708090100-2-1.5-1-0.500.511.52outputsequencenfudu0102030405060708090100-2-1.5-1-0.500.511.522.53outputsequencenfudu00.511.522.533.5051015202530frequencyspectrumoftheinputsequencewfudu00.511.522.533.5051015202530frequencyspectrumoftheoutputsequencewfudu00.511.522.533.50102030405060frequencyspectrumoftheoutputsequencewfudu二.(3)令x(n)=cos(2*pi*f*n/fs),其中f/fs=1/16,即每个周期内有16个点。试用MATLAB编程实现:1).作M=4倍的抽取,使每个周期变成4点。程序:clear,closeall,N=100;M=4;n=0:N-1;x=cos(2*pi*n*(1/16));stem(n,x(1:N));title('inputsequence');xlabel('n');ylabel('fudu');y1=x(1:4:100);y2=decimate(x,M,'fir');figure(2);m=0:N/4-1;stem(m,y1);title('outputsequence');xlabel('n');ylabel('fudu');figure(3);m=0:N/M-1;stem(m,y2(1:N/M));title('outputsequence');xlabel('n');ylabel('fudu');figure(4);[h,w]=freqz(x);plot(w(1:512),abs(h(1:512)));title('frequencyspectrumoftheinputsequence');xlabel('w');ylabel('fudu');figure(5);[h,w]=freqz(y1);plot(w(1:512),abs(h(1:512)));title('frequencyspectrumoftheoutputsequence');xlabel('w');ylabel('fudu');figure(6);[h,w]=freqz(y2);plot(w(1:512),abs(h(1:512)));title('frequencyspectrumoftheoutputsequence');xlabel('w');ylabel('fudu');020406080100-1-0.8-0.6-0.4-0.200.20.40.60.81inputsequencenfudu0510152025-1-0.8-0.6-0.4-0.200.20.40.60.81outputsequencenfudu0510152025-1.5-1-0.500.511.5outputsequencenfudu00.511.522.533.50102030405060frequencyspectrumoftheinputsequencewfudu00.511.522.533.502468101214frequencyspectrumoftheoutputsequencewfudu00.511.522.533.502468101214frequencyspectrumoftheoutputsequencewfudu2).作L=3倍的插值,使每个周期变成48点。程序:clear,closeall,N=50;L=3;n=0:N-1;x=cos(2*pi*n*(1/16));figure(1);stem(n,x(1:N));title('inputsequence');xlabel('n');ylabel('fudu');y1=zeros(1,N*3);y1(1:3:N*3)=x;figure(2);m=0:N*3-1;stem(m,y1(1:N*3));title('outputsequence');xlabel('n');ylabel('fudu');y2=interp(x,L);figure(3);m=0:5:N*L-1;stem(m,y2(1:5:N*L));title('outputsequence');xlabel('n');ylabel('fudu');figure(4);[h,w]=freqz(x);plot(w(1:512),abs(h(1:512)));title('frequencyspectrumoftheinputsequence');xlabel('w');ylabel('fudu');figure(5);[h,w]=freqz(y1);plot(w(1:512),abs(h(1:512)));title('frequencyspectrumoftheoutputsequence');xlabel('w');ylabel('fudu');figure(6);[h,w]=freqz(y2);plot(w(1:64),abs(h(1:64)))