哈工程信号处理实验三.docx
《哈工程信号处理实验三.docx》由会员分享,可在线阅读,更多相关《哈工程信号处理实验三.docx(18页珍藏版)》请在冰点文库上搜索。
![哈工程信号处理实验三.docx](https://file1.bingdoc.com/fileroot1/2023-5/28/6f3a605c-8de5-452b-a9b9-2e25dd707c01/6f3a605c-8de5-452b-a9b9-2e25dd707c011.gif)
哈工程信号处理实验三
信号处理实验三
实验要求:
研究抽样过程,分析产生混叠效应的原因,实现不同的重建方案。
3.3.1
>>n=0:
80;
>>f0=300;fs=8000;
>>x=sin(2*pi*f0/fs*n+pi/3);
>>stem(n,x)
>>gtext('f0=300,fs=8k')
>>plot(n,x)
>>gtext('f0=300,fs=8k')
>>gtext('Continue')
b.>>n=0:
80;
>>fs=8000;
>>subplot(221)
>>x=sin(2*pi*100/fs*n+pi/3);
>>stem(n,x);grid;gtext('f0=100')
>>subplot(222)
>>x=sin(2*pi*225/fs*n+pi/3);
>>stem(n,x);grid;gtext('f0=225')
>>subplot(223)
>>stem(n,x);grid;gtext('f0=350')
>>subplot(224)
>>x=sin(2*pi*225/fs*n+pi/3);
>>stem(n,x);grid;gtext('f0=475')
d
>>n=0:
80;
>>fs=8000;
>>subplot(221)
>>x=sin(2*pi*7525/fs*n+pi/3);
>>stem(n,x);grid;gtext('f0=7525')
>>subplot(222)
>>x=sin(2*pi*7650/fs*n+pi/3);
>>stem(n,x);grid;gtext('f0=7650')
>>
>>subplot(223)
>>x=sin(2*pi*7775/fs*n+pi/3);
>>stem(n,x);grid;gtext('f0=7675')
>>subplot(224)
>>x=sin(2*pi*7900/fs*n+pi/3);
>>stem(n,x);grid;gtext('f0=7900')
e
>>n=0:
80;
fs=8000;
>>subplot(221)
x=sin(2*pi*32100/fs*n+pi/3);
stem(n,x);grid;gtext('f0=32100')
subplot(222)
x=sin(2*pi*32225/fs*n+pi/3);
stem(n,x);grid;gtext('f0=32225')
subplot(223)
x=sin(2*pi*32350/fs*n+pi/3);
stem(n,x);grid;gtext('f0=32350')
subplot(224)
x=sin(2*pi*32475/fs*n+pi/3);
stem(n,x);grid;gtext('f0=32475')
>>t=0:
1/80000:
1000/80000;
>>x=cos(2*pi*300*t+pi/6);
>>stem(t,x)
>>t=0:
1/8000:
1000/80000;
>>x=cos(2*pi*300*t+pi/6);
>>stem(t,x)
>>fmagplot(x,1/80000)
可以看到,当频率变化时,正弦信号并不是严格按信号频率变化的,而是呈周期的,有时变密有时变疏
3.3.3
>>t=0:
1/80000:
1000/80000;
>>x=cos(2*pi*300*t+pi/6);
>>stem(t,x)
>>t=0:
1/8000:
1000/80000;
>>x=cos(2*pi*300*t+pi/6);
>>stem(t,x)
>>fmagplot(x,1/80000)
3.3.4
>>n=0:
100;
>>t=n./80000;
>>x=cos(2*pi*t*300+pi/6);
>>stem(t./10,x)
>>[X,W]=dtft(x,900);
>>plot(W*10/pi,abs(X))
3.3.5
fs=8000;
fsim=80000;
fcut=2*(fs/2)/fsim;
>>[b,a]=cheby2(9,60,fcut);%调用雪比滤波器
>>[c,d]=freqz(b,a,1000,'whole');%1000点的频率响应
>>d(501:
1000)=d(501:
1000)-2*pi;%d的位置全部左移2pi
>>plot(d/2/pi/1000*fsim,abs(c));
3.3.6
fs=8000;fsim=80000;
>>n=0:
1000;
>>l=length(n);
>>x=cos(2*pi*300*n/fsim+pi/6);
>>y=x(1:
80000/8000:
l);
>>L=length(y);%取长度避免后面的维度不相等
>>y2=zeros(1,length(x));%置零序列
>>fori=0:
100;
y2(i*10+1)=y(i+1);%取10倍数中的数,相当于抽样置零
end
>>t=0:
0.001:
1;
>>plot(t,y2)
>>fmagplot(y2,0.0000125)
3.3.7
fs=8000;fsim=80000;
k=fsim/fs;
n=0:
1000;
l=length(n);
x=cos(2*pi*2000*n/fsim+pi/6);
y=x(1:
k:
l);
L=length(y);
y2=zeros(1,length(x));
fori=0:
100;
y2(i*10+1)=y(i+1);
end
t=0:
0.001:
1;y3=filter(b,a,y2);
subplot(211);fmagplot(y3,0.0000125)
subplot(212);plot(t,y3)
gtext('2k')
fs=8000;fsim=80000;
k=fsim/fs;
n=0:
1000;
l=length(n);
x=cos(2*pi*6000*n/fsim+pi/6);
y=x(1:
k:
l);
L=length(y);
y2=zeros(1,length(x));
fori=0:
100;
y2(i*10+1)=y(i+1);
end
t=0:
0.001:
1;y3=filter(b,a,y2);
subplot(211);fmagplot(y3,0.0000125)
subplot(212);plot(t,y3)
>>gtext('6k')
x=cos(2*pi*7000*n/fsim+pi/6);
y=x(1:
k:
l);
L=length(y);
y2=zeros(1,length(x));
fori=0:
100;
y2(i*10+1)=y(i+1);
end
t=0:
0.001:
1;y3=filter(b,a,y2);
subplot(211);fmagplot(y3,0.0000125)
subplot(212);plot(t,y3)
gtext('7k')
x=cos(2*pi*9000*n/fsim+pi/6);
y=x(1:
k:
l);
L=length(y);
y2=zeros(1,length(x));
fori=0:
100;
y2(i*10+1)=y(i+1);
end
t=0:
0.001:
1;y3=filter(b,a,y2);
subplot(211);fmagplot(y3,0.0000125)
subplot(212);plot(t,y3)
gtext('9k')
x=cos(2*pi*10000*n/fsim+pi/6);
y=x(1:
k:
l);
L=length(y);
y2=zeros(1,length(x));
fori=0:
100;
y2(i*10+1)=y(i+1);
end
t=0:
0.001:
1;y3=filter(b,a,y2);
subplot(211);fmagplot(y3,0.0000125)
subplot(212);plot(t,y3)
gtext('10k')
x=cos(2*pi*15000*n/fsim+pi/6);
y=x(1:
k:
l);
L=length(y);
y2=zeros(1,length(x));
fori=0:
100;
y2(i*10+1)=y(i+1);
end
t=0:
0.001:
1;y3=filter(b,a,y2);
subplot(211);fmagplot(y3,0.0000125)
subplot(212);plot(t,y3)
gtext('15k')
x=cos(2*pi*17000*n/fsim+pi/6);
y=x(1:
k:
l);
L=length(y);
y2=zeros(1,length(x));
fori=0:
100;
y2(i*10+1)=y(i+1);
end
t=0:
0.001:
1;y3=filter(b,a,y2);
subplot(211);fmagplot(y3,0.0000125)
subplot(212);plot(t,y3)
gtext('17k')
x=cos(2*pi*18000*n/fsim+pi/6);
y=x(1:
k:
l);
L=length(y);
y2=zeros(1,length(x));
fori=0:
100;
y2(i*10+1)=y(i+1);
end
t=0:
0.001:
1;y3=filter(b,a,y2);
subplot(211);fmagplot(y3,0.0000125)
subplot(212);plot(t,y3)
gtext('18k')
x=cos(2*pi*19000*n/fsim+pi/6);
y=x(1:
k:
l);
L=length(y);
y2=zeros(1,length(x));
fori=0:
100;
y2(i*10+1)=y(i+1);
end
t=0:
0.001:
1;y3=filter(b,a,y2);
subplot(211);fmagplot(y3,0.0000125)
subplot(212);plot(t,y3)
gtext('19k')
x=cos(2*pi*20000*n/fsim+pi/6);
y=x(1:
k:
l);
L=length(y);
y2=zeros(1,length(x));
fori=0:
100;
y2(i*10+1)=y(i+1);
end
t=0:
0.001:
1;y3=filter(b,a,y2);
subplot(211);fmagplot(y3,0.0000125)
subplot(212);plot(t,y3)
gtext('20k')
从20k开始出现了混叠。
3.8.1
x=2*cos(2*pi*t/6);
>>plot(t,x)
>>grid
后面的查过书,但是还是运行不出来,没有做了。