数字信号处理实验报告Word文档下载推荐.docx
《数字信号处理实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告Word文档下载推荐.docx(32页珍藏版)》请在冰点文库上搜索。
![数字信号处理实验报告Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/1/45c8b798-d917-445f-88a6-c5d0461264d5/45c8b798-d917-445f-88a6-c5d0461264d51.gif)
clearall;
closeall;
clc;
symst;
x1=exp(-1.5*t)
x2=3*sin(0.5*pi*t)
x3=0.5+0.5*sym(('
sign(t)'
))
x4=sym('
heaviside(t)'
)+sym('
heaviside(t-1)'
)-sym('
2*heaviside(t-2)'
)
x5=.5*t*(sym('
heaviside(t-4)'
subplot(2,3,1);
ezplot(x1);
axis([-63-5007000]);
title('
x1(t)=exp(-1.5t)'
);
gridon
subplot(2,3,2);
ezplot(x2);
x2(t)=3sin(0.5¦
Ð
t)'
subplot(2,3,3);
fplot('
sign(t)/2+1/2'
[-1010],1e-8);
ezplot(x3,[-1010]);
axis([-1010-.21.2]);
xlabel('
t'
x3(t)=0.5+0.5sgn(t)'
subplot(2,3,4);
ezplot(x4,[-13]);
x4(t)=u(t)+u(t-1)-2u(t-2)'
subplot(2,3,5);
ezplot(x5,[-26]);
x5(t)=0.5t[u(t)-u(t-4)]'
subplot(2,3,6);
axisoff
2.已知连续时间信号(Signal1.7)
,
试用MATLAB绘制出下列信号的波形:
(5)
。
figure
(2)
x1=(4-t)*(sym('
x2=exp(-2*t)*sym('
x3=sin(2*pi*t)
x4=subs(x1,t,t/2)
x5=subs(x4,t,t-2)
x6=subs(x2,t,-t)
x7=x2+x6
x8=x7*x3
subplot(2,3,1)
text(0,0.9,'
x1(t)=(4-t)[u(t)-u(t-4)]'
text(0,0.7,'
x2(t)=exp(-2t)u(t)'
text(0,0.5,'
x3(t)=sin(2¦
axisoff;
boxoff;
ezplot(x5,[-3,10]);
grid
x4(t)=x1(t/2)'
ezplot(x5,[-1,12]);
x5(t)=x4(t-2)'
ezplot(x6,[-10,5]);
axis([-55-0.11.1]);
x6(t)=x2(-t)'
ezplot(x7,[-55]);
grid;
x7(t)=x2(t)+x6(t)'
tv8=-2.5:
0.05:
2.5;
xv8=subs(x8,tv8);
plot(tv8,xv8)
axis([-2.52.5-11]);
x8(t)=x7(t)x3(t)'
cleartv8xv8
3.列出单位冲激信号、单位阶跃信号、正弦信号的MATLAB表达式,并绘出信号波形。
clc
x1=sym('
dirac(t)'
x2=sym('
Heaviside(t)'
x3=sin(t);
tn=[-6.3:
0.1:
6.3];
xn1=subs(x1,t,tn);
xn2=subs(x2,t,tn);
xn3=subs(x3,t,tn);
plot(tn,xn1,'
k'
tn,xn2,'
r'
tn,xn3,'
m'
ylabel('
x(t)'
legend('
dirac'
'
Heaviside'
sin'
holdon
k.'
r.'
m.'
实验二用FFT实现信号的谱分析
1.了解FFT在信号谱分析中的作用;
2.了解谱分析的一般步骤和方法。
关于信号谱分析的步骤和方法参见教材第3章相关内容。
为了解信号的特点,了解信号频谱分布情况,应该对信号进行谱分析,计算出信号的幅度谱、相位谱和功率谱。
信号的谱分析可以用FFT实现,讨论如下:
1.谱分析中的参数选择;
A若已知信号的最高频率
,为防止混叠,选定采样频率
:
(1)
B根据实际需要,选定频率分辨
,一但选定后,即可确定FFT所需的点数N
(2)
我们希望
越小越好,但
越小,N越大,计算量、存储量也随之增大。
一般取N为2的整次幂,以便用FFT计算,若已给定N,可用补零方法便N为2的整次幂。
C
和N确定后,即可确定所需相应模拟信号
的长度
(3)
分辨率
反比于T,而不是N,在给定的T的情况下,靠减小
来增加N是不能提高分辨率的,因为
为常数
2.谱分析步骤;
A数据准备
(4)
B使用FFT计算信号的频谱
(5)
(6)
C由频谱计算幅度谱
、相位谱
和功率谱
(7)
(8)
(9)
3.实验中用到的一些基本函数简介
y=fft(x,n);
计算n点的FFT。
abs(x);
取绝对值。
angle(z);
取相角。
[Pxx,f]=periodogram(xn,nfft,fs,window);
%周期图谱估计
[Pxx,f]=pwelch(xn,nfft,fs,window,noverlap);
%平均周期图法
Pxx=psd(xn);
功率谱密度
1.已知序列x(n)=2sin(0.48πn)+cos(0.52πn)0≤n<
100,试绘制x(n)及它的频谱图。
若x(n)=sin(0.56πn)+2cos(0.25πn),结果又如何?
N=100;
n=0:
N-1;
xn=2*sin(0.48*pi*n)+cos(0.52*pi*n);
XK=fft(xn,N);
magXK=abs(XK);
phaXK=angle(XK);
subplot(1,2,1)
plot(n,xn)
n'
x(n)'
x(n)N=100'
subplot(1,2,2)
k=0:
length(magXK)-1;
stem(k,magXK,'
.'
|X(K)|'
X(K)N=100'
2.对下面信号进行频谱分析,求幅度谱
和相位谱
(1)
(2)
fs1=5000;
dt1=1/fs1;
N1=0.004/dt1;
n1=0:
N1-1;
xn1=0.8.^(n1*dt1);
Xk1=fft(xn1,N1);
mag1=2*abs(Xk1)/N1;
pha1=angle(Xk1);
f1=n1*fs1/N1;
subplot(221)
stem(f1,mag1,'
fill'
Magnitude1'
f'
|Xk
(1)|'
subplot(222)
stem(f1,pha1,'
Phase1'
|Phk
(1)|'
fs2=128;
dt2=1/fs2;
N2=18;
n2=0:
N2-1;
xn2=sin(n2*dt2)./(n2*dt2+eps);
Xk2=fft(xn2,N2);
mag2=2*abs(Xk2)/N2;
pha2=angle(Xk2);
f2=n2*fs2/N2;
subplot(223)
stem(f2,mag2,'
Magnitude2'
|Xk
(2)|'
subplot(224)
stem(f2,pha2,'
Phase2'
|Phk
(2)|'
3.给定信号
,现在对
采样,采样点数
,采样频率
=50Hz,设采样序列为
,编写程序计算
的频谱,并绘图;
改变采样频率,得到序列
,计算
增大采样点数,得到序列
采样点数N=64,采样频率
=300Hz,在采样点后补零得到新序列
的频谱,并绘图。
(Signal3.18)
clc
N=16;
f1=15;
f2=18;
fs=50;
dt=1/fs;
xn=sin(2*pi*f1*n*dt)+2*sin(2*pi*f2*n*dt);
Xk=fft(xn,N);
mag=2*abs(Xk)/N;
pha=angle(Xk);
f=fs/N*n;
figure
(1);
subplot(121)
plot(f,mag);
Magnitude'
|Xk|'
subplot(122)
plot(f,pha);
Phase'
§
Xk?
?
'
fs=36;
figure
(2);
plot(f,mag,'
Magnitude(36HzSamplingrequency)'
plot(f,pha,'
Phase(36HzSamplingrequency)'
fs=100;
Magnitude(100HzSamplingFrequency)'
Phase(100HzSamplingFrequency)'
N=64;
figure(3);
Magnitude(64SamplingPoints)'
Phase(64SamplingPoints)'
N=512;
Magnitude(512SamplingPoints)'
Phase(512SamplingPoints)'
fs=300;
xn0=sin(2*pi*f1*n*dt)+2*sin(2*pi*f2*n*dt);
xn=[xn0,zeros(1,64)];
figure(4);
g'
Magnitude(filledwith64zeros)'
Phase(filledwith64zeros)'
xn=[xn0,zeros(1,448)];
Magnitude(filledwith448zeros)'
4.试求下列差分方程所描述的输出序列
的功率谱并作图。
(a)
(b)
(c)
式中,
是方差为
(例如,
=1/12)的白噪声。
nfft=512;
window=hanning(256);
noverlap=128;
w=randn(1,1000);
fori=1:
1000
ifi<
=2
x(i)=randn(1,1);
else
x(i)=-0.81*x(i-2)+w(i)-w(i-1);
end
[Pxxf]=psd(x,nfft,2,window,noverlap,'
mean'
figure
(1)
plot(f,10*log10(Pxx));
PowerSpectrum,dB'
(a):
x(n)=-0.81x(n-2)+w(n)-w(n-1)'
x(i)=w(i)-w(i-2);
plot(f,10*log10(Pxx),'
(b):
x(n)=w(n)-w(n-2)'
x(i)=-0.81*x(i-2)+w
(2);
[Pxxf]=psd(x,nfft,2,window,noverlap);
figure(3)
(c):
x(n)=-0.81x(n-2)+w(n)'
5.一序列
是由两个频率相距为
的模拟信号采样得来的,即
n=0,1,…,15
已知序列长度N=16,试采用周期图法,应用DFT分别计算当
=0.06及
=0.01时的功率谱估计,并通过作图说明从功率谱估计的分布是否能分辨出这两个正弦信号的真实频谱?
若N=64又有什么变化?
df=[0.060.01];
x1=sin(2*pi*0.135*n)+cos(2*pi*(0.135+df
(1))*n);
x2=sin(2*pi*0.135*n)+cos(2*pi*(0.135+df
(2))*n);
[Pxx1f1]=psd(x1,nfft,1,window,noverlap,'
[Pxx2f2]=psd(x2,nfft,1,window,noverlap,'
plot(f1,Pxx1);
PowerSpectrum'
sin2?
(0.135)n+cos2?
(0.135+0.06)nN=16'
plot(f2,Pxx2);
PowerSpectrum'
(sin2?
(0.135+0.01)nN=16'
plot(f1,Pxx1,'
(0.135+0.06)nN=64'
plot(f2,Pxx2,'
(0.135+0.01)nN=64'
6.用MATLAB产生256点白噪声序列,应用Welch法估计其功率谱,每段长64点,重叠32点,输出平均后的功率谱图以及对256点一次求周期图的功率谱图。
N=256;
x=rand(1,N);
window=hanning(64);
noverlap=32;
nfft=128;
[Pxx1f1]=periodogram(x);
plot(f1/pi,10*log10(Pxx1));
¶
Ô
256µ
ã
Ò
»
´
Î
Ç
ó
Ö
Ü
Æ
Ú
Í
¼
µ
Ä
¹
¦
Â
Ê
×
[Pxx2f2]=psd(x,nfft,2,window,noverlap,'
line'
plot(f2,10*log10(Pxx2),'
yla