数字信号报告Word文档格式.docx
《数字信号报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《数字信号报告Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
x=-5:
y=[zeros(1,5),1,ones(1,5)];
4.1.3.3矩形序列:
n=0:
9;
x=[1111111111];
stem(n,x,'
.'
);
axis([-11001.5])
图四:
三角波
4.1.3.4三角波
t=-30:
1:
30;
y=sawtooth(t,0.5);
plot(t,y);
4.1.3.5方波
(1)实现程序:
t=0:
0.0001:
0.615
y=square(t*2*pi*30,80);
4.1.3.6锯齿波
y=square(t);
4.1.3.7Sinc函数
y=sinc(t);
4.2FFT频谱分析及应用
4.2.1实验目的
a.通过实验加深对FFT的理解。
b..熟悉应用FFT对典型信号进行频谱分析的方法。
4.2.2实验内容
被噪声污染的信号,比较难看出所包含的频率分量,如一个由50HZ和120HZ正弦信号构成的信号,受零均值随机噪声的干扰,数据采样率为1000HZ,使用FFT函数来分析其信号频率成分,要求:
①画出时域波形;
②分析信号功率谱密度。
注:
在MATLAB中,可用函数rand(1,N)产生均值为0,方差为1,长度为N的高斯随机序列。
4.2.3实验结果
程序:
0.001:
0.7;
x=sin(2*pi*50*t)+cos(2*pi*130*t);
y=x+1.5*randn(1,length(t));
subplot(3,1,1);
plot(t,x);
subplot(3,1,2);
%title('
pressanykey,continue```'
%pause;
y=fft(y,512);
p=y.*conj(y)/512;
f=1000*(0:
255)/512;
subplot(3,1,3);
plot(f,p(1:
256));
4.3信号的运算—卷积
4.3.1实验目的
a.掌握信号的线性卷积运算。
b.掌握信号的循环卷积运算。
c.掌握信号循环卷积计算线性卷积的条件。
4.3.2实验内容
a.如果信号
利用线性卷积计算,用conv函数实现如下:
y=conv(x1,x2)。
b.假设卷积下面信号
选定循环卷积的长度为N=21.确定
的哪些数值与线性卷积
结果中的数值相同。
编写程序代码并输出图形,并分析错误数据的原因,怎样才能使两者数据相同。
c.已知系统相应为输入为
画出用DFT方法实现求系统输出的系统框图,编写用DFT实现的程序代码并输出图形。
4.3.3实验结果
n1=0:
13;
x1=0.9.^n1;
h=ones(1,11);
N=length(x1)+length(h)-1;
N-1;
ny=0:
20;
y1=circonvt(x1,h,21);
y2=circonvt(x1,h,N);
x1=[x1zeros(1,N-length(x1))];
h=[hzeros(1,N-length(h))];
X1=fft(x1,N);
H=fft(h,N);
X=X1.*H;
x=ifft(X);
x=real(x);
subplot(2,2,1);
stem(n,x1);
title('
x1(n)'
axis([0,33,0,1]);
subplot(2,2,2);
stem(n,h);
h(n)'
subplot(2,2,3);
stem(ny,y1,'
fill'
21点循环卷积'
axis([0,33,0,16]);
holdon;
subplot(2,2,4);
stem(n,x);
线性卷积'
axis([0,33,0,8]);
r'
'
--'
holdoff;
4.4线性卷积的快速处理方法——重叠相加法
4.4.1实验目的
a.掌握线性卷积的快速处理方法——重叠相加法的原理。
b.掌握线性卷积的快速处理方法——重叠相加法的实现方法。
c.掌握实验和分析深入了解重叠相加法。
4.4.2实验内容
编写一个实现块卷积重叠相加法的M文件函数。
该函数的输入之一应使段的长度M,或者使FFT的长度。
循环卷积应在DFT域中进行。
最终,这将会使程序最快的运行。
其中冲激响应为,
输入信号为
。
4.4.3实验结果
图一:
两函数卷积结果
functiony=fftfilt(x,h,Nfft)
H=fft(h,Nfft);
M=Nfft-length(h)+1;
%----SectionLength\
%
%*************assumethatlength(x)ismultipleofM******
forix=1:
M:
length(x)
x_seg=x(ix:
ix+M-1);
X=fft(x_seg,Nfft);
Y=X.*H;
y.seg=ifft(Y);
y(ix:
ix+Nfft-1)=y(ix:
ix+Nfft-1)+y_seg(1:
Nfft);
end
%-----------checkforpurelyREALcase--------
if~any(imag(h))&
~any(imag(x))
y=real(y);
%---------------------------------------------
(使用conv函数测试)
19;
hn=sin(0.3*n1)+cos(0.6*n1);
n2=0:
xn=exp(0.4*n2);
z=conv(hn,xn);
N=length(xn)+length(hn)-1;
hn=[hnzeros(1,N-length(hn))];
R=length(xn);
M=length(hn);
y=fftfilt(xn,hn,8);
k1=1:
length(y);
k=1:
N;
plot(k1,y,'
b-o'
k,z,'
g-x'
)
xlabel('
Timeindexn'
ylabel('
Amplitude'
legend('
y[n]'
z[n]'
4.5线性卷积的快速处理方法——重叠保留法
4.5.1实验目的
a.掌握线性卷积的快速处理方法——重叠保留法的原理。
b.掌握线性卷积的快速处理方法——重叠保留法的实现方法。
4.5.2实验内容
通过conv函数来测试此函数的正确性。
考虑使用下面信号
4.5.3实验结果
xn=ones(1,17);
1:
100;
hn=sin(n1*pi/13);
y=ovrlpsav(xn,hn,10);
k=1:
x(n)和h(n)的循环卷积图像'
n'
y'
function[y]=ovrlpsav(x,h,N)
Lenx=length(x);
M=length(h);
ifN<
M
N=M+2;
M1=M-1;
L=N-M1;
h=[h,zeros(1,N-M)];
x=[zeros(1,M1),x,zeros(1,N-1)];
K=floor((Lenx+M-1)/(L));
Y=zeros(K+1,N);
fork=0:
k
xk=x(k*L+1:
k*L+N):
Y(k+1,:
)=circonvt(xk,h,N);
Y=Y(:
M:
N);
y=(Y(:
));
function
y=circonvt(x1,x2,N)
if(length(x1)>
N|length(x2)>
N)
error('
N必须大于等于x对的长度'
x1=[x1
zeros(1,N-length(x1))];
x2=[x2
zeros(1,N-length(x2))];
X2=fft(x2,N);
X=X1.*X2;
y=ifft(X,N);
y=real(y);
4.6IIR数字滤波器的设计
4.6.1实验目的
a.掌握脉冲响应不变法和双线性变换法设计IIR数字滤波器的原理和方法。
b.观察双线性变换法和脉冲响应不变法设计的滤波器的频率特性,了解双线性变换法和脉冲响应不变法的特点和区别。
4.6.2实验内容
用双线性变换法设计一个Chebyshev1型数字带通滤波器,设计指标为T=1ms,Rp=1dB,Wp1=0.35π,Wp2=0.65π,Rs=60dB,Ws1=0.2πWs2=0.8π。
按实验步骤附上所设计滤波器的H(z)及相应的幅频特性曲线定性分析得到的图形,判断设计是否满足要求。
%所设计的数字滤波器的指标
Ts=0.001;
Fs=1/Ts;
Rp=1;
Rs=60;
wp1=0.35*pi;
wp2=0.60*pi;
ws1=0.2*pi;
ws2=0.8*pi;
%频率的预畸变
Wp1=(2/Ts)*tan(wp1/2);
Wp2=(2/Ts)*tan(wp2/2);
Wp=[Wp1,Wp2];
%模拟滤波器的通带截止频率
Ws1=(2/Ts)*tan(ws1/2);
Ws2=(2/Ts)*tan(ws2/2);
Ws=[Ws1,Ws2];
%模拟滤波器的阻带截止频率
%模拟滤波器的带宽
BW=Wp2-Wp1;
%模拟滤波器的中心频率
Omegaw0=sqrt(Wp1*Wp2);
%求模拟低通滤波器的阶数与边缘频率
[N,OmegaC]=cheb1ord(Wp,Ws,Rp,Rs,'
s'
%求切比雪夫模拟低通滤波器的零、极点与增益
[z0,p0,k0]=cheb1ap(N,Rp);
%设计归一化的模拟原型带通滤波器
%求原型滤波器的分子系数
AnalogB=k0*real(poly(z0));
%求原型滤波器的分母系数
AnalogA=real(poly(p0));
%模拟低通到模拟带通的分子、分母系数的变换
[BandB,BandA]=lp2bp(AnalogB,AnalogA,Omegaw0,BW);
%双线性变换:
模拟带通与数字带通的分子分母系数的变换?
?
[DigitalB,DigitalA]=bilinear(BandB,BandA,Fs);
%变为二阶节级联结构?
[sos,G]=tf2sos(DigitalB,DigitalA);
%求数字带通滤波器的幅频、相频特性、及其群延迟?
%求数字带通滤波器的幅频特性
[Hz,Wz]=freqz(DigitalB,DigitalA,1024,'
whole'
%将数字带通滤波器的幅频特性转化为分贝表示?
dbHz=20*log10((abs(Hz)+eps)/max(abs(Hz)));
%求数字带通滤波器的相频特性?
%φ=angle(Hz)?
%求数字带通滤波器的群延迟特性?
grd=grpdelay(DigitalB,DigitalA,Wz);
%作图?
subplot(2,3,1);
plot(Wz/pi,abs(Hz));
幅频响应'
'
),ylabel('
幅度:
|Hz|'
axis([0,1,0,1.1]);
set(gca,'
XTickMode'
manual'
XTick'
[0,ws1/pi,wp1/pi,wp2/pi,ws2/pi,1]);
grid;
subplot(2,3,4);
plot(Wz/pi,dbHz);
模值(dB)'
频率(单位:
\pi)'
分贝(dB)'
axis([0,1,-40,5]);
YTickmode'
YTick'
[-50,-30,-2,0]);
YTickLabelMode'
YTickLabels'
['
50'
;
30'
2'
0'
]);
subplot(2,3,2);
plot(Wz/pi,angle(Hz)/pi);
相频响应'
单位:
\pi'
axis([0,1,-1,1]);
subplot(2,3,5);
零极点图'
\dB'
zplane(DigitalB,DigitalA);
axis([-1.1,1.1,-1.1,1.1]);
subplot(2,3,3);
plot(Wz/pi,grd);
群延迟'
样本'
axis([0,1,0,8]);
%画高刻度线
[0:
0.5:
10]);
set(gcf,'
color'
w'
%置图形背景色为白色
4.7FIR数字滤波器的设计
4.7.1实验目的
c.掌握用窗函数法和频率采样法设计FIR数字滤波器的原理和方法。
d.熟悉线性相位FIR滤波器的幅频特性和相频特性。
e.了解不同窗函数对滤波器性能的影响。
4.7.2实验内容
用Blackman窗设计一个数字带通滤波器,设计指标为Rp=1dB,Wp1=0.35π,Wp2=0.65πRs=60dB,Ws1=0.2π,Ws2=0.8π。
4.7.3实验结果
wp2=0.65*pi;
As=60;
deltaw=min((wp1-ws1),(ws2-wp1));
N=ceil(11*pi/deltaw);
n=[0:
N-1];
wc1=(wp1+ws1)/2;
wc2=(wp2+ws2)/2;
hd=ideallp(wc2,N)-ideallp(wc1,N);
w_blkm=(blackman(N))'
h=hd.*w_blkm;
[db,mag,pha,grd,w]=freqz_m(h,[1]);
delta_w=2*pi/1000;
Rp=-min(db(wp1/delta_w+1:
wp2/delta_w))
As=-round(max(db(ws2/delta_w+1:
501)))
stem(n,hd);
理想单位脉冲响应'
hd(n)'
stem(n,w_blkm);
布莱克曼窗'
w(n)'
实际单位脉冲响应'
plot(w/pi,db);
幅频特性'
dB'
functionhd=ideallp(wc,M);
%IdealLowPassfiltercomputation
%--------------------------------
%[hd]=ideallp(wc,M);
%hd=idealimpulseresponsebetween0toM-1
%wc=cutofffrequencyinradians
%M=lengthoftheidealfilter
alpha=(M-1)/2;
n=[0:
(M-1)];
m=n-alpha+eps;
%addsmallestnumbertoavoidividedbyzero
hd=sin(wc*m)./(pi*m);
function[db,mag,pha,grd,w]=freqz_m(b,a);
[H,w]=freqz(b,a,1000,'
H=(H(1:
501))'
w=(w(1:
mag=abs(H);
db=20*log10((mag+eps)/max(mag));
pha=angle(H);
grd=grpdelay(b,a,w);
N=33;
wc=0.55*pi;
ws=0.55*pi;
N1=fix((wc/2*pi/N));
N2=N-2*N1-1;
HK=[ones(1,N1+1),zeros(1,N2),ones(1,N1)];
theta=-pi*[0:
N-1]*(N-1)/N;
H=HK.*exp(j*theta);
h=real(ifft(H));
[db,mag,pha,grd,w]=freqz_m(h,1);
Rp=-(min(db(ws/delta_w+1)))
As=-(max(db(ws/delta_w+1:
plot([0:
2/N:
(2/N)*(N-1)],HK,'
*'
axis([0,1,-0.1,1.1]);
Hd(k)'
stem([0:
N-1],h);
单位脉冲响应'
axis([0N-0.10.4]);
plot(w/pi,mag);
axis([0,1,-0.2,1.2]);
幅度特性'
H(w)'
axis([01-6010]);
winpi'
20logH(w)'
心得体会:
《数字信号处理》是我们专业的一门重要的专业基础课程,主要任务是研究数字信号处理理论的基本概念和基本分析方法,通过建立数学模型和