哈工大威海数字信号处理实验报告Word文档下载推荐.docx
- 文档编号:18639208
- 上传时间:2022-12-30
- 格式:DOCX
- 页数:28
- 大小:407.67KB
哈工大威海数字信号处理实验报告Word文档下载推荐.docx
《哈工大威海数字信号处理实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《哈工大威海数字信号处理实验报告Word文档下载推荐.docx(28页珍藏版)》请在冰豆网上搜索。
可以用fft函数实现DFT,用abs实现幅度谱,angle获得相位谱,画图用stem
程序:
(a)
clc;
clearall;
closeall;
x1=[13536839];
n=0:
length(x1)-1;
X1=fft(x1);
figure
(1),
subplot(2,1,1),stem(n,abs(X1),'
r*'
);
title('
X1[k]的幅度谱'
subplot(2,1,2),stem(n,atan2(imag(X1),real(X1)),'
X1[k]的相位谱'
程序(b)
x2=[24367902];
length(x2)-1;
X2=fft(x2);
subplot(2,1,1),stem(n,abs(X2),'
X2[k]的幅度谱'
subplot(2,1,2),stem(n,atan2(imag(X2),real(X2)),'
X2[k]的相位谱'
程序(c)
Z1=2*X1+6*X2;
subplot(2,2,1),stem(n,abs(Z1),'
Z1的幅度谱'
subplot(2,2,2),stem(n,atan2(imag(Z1),real(Z1)),'
Z1的相位谱'
z2=2*x1+6*x2;
Z2=fft(z2);
subplot(2,2,3),stem(n,abs(X2),'
Z2的幅度谱'
subplot(2,2,4),stem(n,atan2(imag(Z2),real(Z2)),'
Z2的相位谱'
a.给出序列x1[n]右移3位(循环移位)后的傅里叶变换的幅度谱和相位谱,并和原始序列的幅度谱和相位谱相比较
可以用b=circshift(x1,[0,3])实现x1序列的右移3位循环移位,或者用如下语句实现循环移位
a=1:
10%实现a=12345678910
n=3;
b1=[a(n+1:
end),a(1:
n)]%循环移位,左移3位;
实现b1=45678910123
n0=length(a)-3
b2=[a(n0+1:
n0)]%循环移位,右移3位;
实现b2=89101234567
程序:
b=circshift(x1,[0,3]);
B=fft(b);
subplot(2,3,1),stem(n,x1,'
原始序列'
subplot(2,3,2),stem(n,abs(X1),'
原始序列的幅度谱'
subplot(2,3,3),stem(n,atan2(imag(X1),real(X1)),'
原始序列的相位谱'
subplot(2,3,4),stem(n,b,'
右移后的序列'
subplot(2,3,5),stem(n,abs(B),'
右移后的序列的幅度谱'
subplot(2,3,6),stem(n,atan2(imag(B),real(B)),'
右移后的序列的相位谱'
3.对称性
(1)利用x1[n]构造圆周共轭对称序列和圆周共轭反对称序列(第三章学习),讨论如下问题
(a)画出圆周共轭对称序列的傅里叶变换的幅度谱和相位谱
(b)画出圆周共轭对称序列的傅里叶变换的实部和虚部
(c)利用x1[n]构造共轭对称序列和共轭反对称序列(第二章学习),讨论与圆周共轭对称圆周共轭反对称的区别
应先构造出圆周共轭对称或共轭反对称序列。
可以用
x1=[13536839]
x2=fliplr(x1)%翻褶序列,x2=[93863531]
x3=circshift(x2,[1,1])%x2的右移一位序列,注意是循环移位,x3=[19386353]
xe=(x1+conj(x3))/2%构造出圆周共轭对称序列
xo=(x1-conj(x3))/2%构造出圆周共轭反对称序列
函数real、imag、abs、angle分别为求实部、虚部、幅度和相位。
思考:
共轭对称和共轭反对称序列如何构造?
程序(a):
length(xe)-1;
Xe=fft(xe);
subplot(2,1,1),stem(n,abs(Xe),'
圆周共轭对称的傅里叶变换的幅度谱'
subplot(2,1,2),stem(n,atan2(imag(Xe),real(Xe)),'
圆周共轭对称的傅里叶变换的相位谱'
程序(b):
subplot(2,1,1),stem(n,real(Xe),'
圆周共轭对称序列的傅里叶变换的实部'
subplot(2,1,2),stem(n,imag(Xe),'
圆周共轭对称序列的傅里叶变换的虚部'
程序(c):
N=length(x1);
n_axis=[0:
N-1];
x1N=zeros(1,N);
x1N(0+1)=x1(0+1);
fornum=0:
N-1
ifN-num==N
index=1;
else
index=(N-num)+1;
end
x1N(num+1)=x1(index);
end
x1_e=1/2*(x1+x1N);
x1_o=1/2*(x1-x1N);
figure
(1);
subplot(3,1,1);
stem(n_axis,x1);
title(['
原序列'
]);
subplot(3,1,2);
stem(n_axis,x1_e);
共轭对称部分'
subplot(3,1,3);
stem(n_axis,x1_o);
共轭反对称部分'
4.循环卷积与线性卷积
a.计算序列x1[n]和x2[n]的线性卷积y[n]
b.计算x1[n]和x2[n]的傅里叶变换X1[k]和X2[k],Y[k]=X1[k]*X2[k],求Y[k]的反傅里叶变换y2[n](y2[n]即为x1[n]和x2[n]的循环卷积),比较y[n]与y2[n]的异同.
y=conv(x1,x2);
length(y)-1;
subplot(1,1,1);
stem(n,y);
线性卷积'
axis([0,17,0,200]);
程序(b):
Y2=X1.*X2;
y2=ifft(Y2);
n1=0:
n2=0:
n3=0:
n4=0:
length(y2)-1;
subplot(2,2,1);
stem(n1,x1);
序列x1[n]'
subplot(2,2,2);
stem(n2,x2);
序列x2[n]'
subplot(2,2,3);
stem(n3,y);
序列x1[n]和x2[n]的循环卷积y[n]'
subplot(2,2,4);
stem(n4,y2);
Y[k]的反傅里叶变换y2[n]'
5.补零
用MATLAB计算如下N点序列的M点DFT:
(1)取N=8,M=8
(2)取N=8,M=16
(3)取N=8,M=32
根据实验结果,分析同一序列不同点数的离散傅里叶变换的特点。
N=8;
M=[81632];
x=ones(1,N);
k_axis=[0:
max(M)-1];
fft_x8=fft(x,M
(1));
fft_x8=fftshift(fft_x8);
fft_x16=fft(x,M
(2));
fft_x16=fftshift(fft_x16);
fft_x32=fft(x,M(3));
fft_x32=fftshift(fft_x32);
stem(k_axis(1:
M
(1)),abs(fft_x8));
8点序列的8点DFT'
M
(2)),abs(fft_x16));
8点序列的16点DFT'
M(3)),abs(fft_x32));
8点序列的32点DFT'
)
实验二时域采样与频域采样
1.时域采样定理的验证,分析采样序列的特性。
对xa(t)=Ae-atsin(Ω0t)u(t)进行采样,可得到采样序列
xa(n)=xa(nT)=Ae-anTsin(Ω0nT)u(n),
其中A为幅度因子,a为衰减因子,Ω0是模拟角频率,T为采样间隔。
a.取采样频率fs=1kHz,即T=1ms,观察|X(ejω)|。
b.改变采样频率,fs=300Hz,观察|X(ejω)|的变化;
c.进一步降低采样频率,fs=200Hz,观察频谱混叠是否明显存在,说明原因,并记录|X(ejω)|曲线。
2.频域采样定理的验证。
给定信号
编写程序分别对频谱函数
在区间
上等间隔采样32点和16点,得到X32(k)和X16(k),再分别对其进行32点和16点的IFFT,得到x32(n)和x16(n),分别画出
、X32(k)和X16(k)的幅度谱。
并绘图显示x(n)、x32(n)和x16(n)的图形,进行对比分析,验证频域采样定理。
程序
(1):
%采样
A=44.128;
a=50*sqrt
(2).*pi
W0=50*sqrt
(2).*pi
Fs1=1000;
%采样频率Hz
Fs2=300;
Fs3=200;
Ts1=1/Fs1;
Ts2=1/Fs2;
Ts3=1/Fs3;
T1=0.1;
%采样时间为0.1s
t1=[0:
Ts1:
T1-Ts1]%采样频率1000
x1=A.*exp(-a*t1).*sin(W0*t1);
stem(t1,x1,'
.'
t2=[0:
Ts2:
T1-Ts2]%采样频率300
x2=A.*exp(-a*t2).*sin(W0*t2);
stem(t2,x2,'
t3=[0:
Ts3:
T1-Ts3]%采样频率200
x3=A.*exp(-a*t3).*sin(W0*t3);
stem(t3,x3,'
figure
(2);
AMP1=abs(X1);
PHA1=angle(X1);
subplot(3,1,1)
plot(t1,AMP1)
gridon
AMP2=abs(X2);
PHA2=angle(X2);
subplot(3,1,2)
plot(t2,AMP2)
X3=fft(x3);
AMP3=abs(X3);
PHA3=angle(X3);
subplot(3,1,3)
plot(t3,AMP3)
程序
(2):
M=27;
N=32;
M;
xa=0:
floor(M/2);
xb=ceil(M/2)-1:
-1:
0;
xn=[xa,xb];
Xk=fft(xn,1024);
X32k=fft(xn,32);
x32n=ifft(X32k);
X16k=X32k(1:
2:
N)
x16n=ifft(X16k,N/2);
subplot(3,2,2);
stem(n,xn,'
boxon
(b)三角波序列x(n)'
xlabel('
n'
ylabel('
x(n)'
axis([0,32,2,20]);
k=0:
1023;
wk=2*k/1024;
subplot(3,2,1);
plot(wk,abs(Xk));
(a)FT[x(n)]'
\omega/\pi'
|X(e^j^\omega)|'
axis([0,1,0,200]);
N/2-1;
subplot(3,2,3);
stem(k,abs(X16k)'
(c)16点频域采样'
k'
|X_1_6(k)|'
axis([0,8,0,20]);
subplot(3,2,4);
stem(n1,x16n,'
(d)16点IDFT[X_1_6(k)]'
x_1_6(n)'
axis([0,32,0,20]);
N-1;
subplot(3,2,5);
stem(k,abs(X32k),'
(e)32点频域采样'
X_3_2(k)'
axis([0,16,0,200]);
subplot(3,2,6);
stem(n1,x32n,'
(f)32点IDFT[X_3_2(k)]'
x_3_2(n)'
实验三IIR滤波器设计
1、掌握冲激响应不变法和双线性变换法设计IIR滤波器的原理及具体设计方法,熟悉用双线性设计法设计低通IIR数字滤波器的计算机程序;
2、熟悉模拟Butterworth滤波器的设计,掌握冲激响应不变法和双线性变换法设计数字IIR滤波器的方法。
IIR滤波器设计的过程可以首先设计模拟滤波器,然后采用冲激响应不变法和双线性变换法设计IIR数字滤波器。
Butterworth滤波器
,其中
为3dB截止频率,N为滤波器阶次,均待定。
模拟滤波器的设计步骤:
首先根据数字滤波器设计要求计算模拟滤波器指标;
其次要求出滤波器的阶次N和
三、实验内容
1.采样频率为1Hz,设计一个Butterworth低通数字滤波器,其中通带临界频率
,通带内衰减小于1dB(
),阻带临界频率
,阻带内衰减大于25dB(
)。
求这个数字滤波器的传递函数H(z),输出它的幅频特性曲线。
利用冲激响应不变法和双线性变换法实现该滤波器,并将结果进行比较。
J=sqrt(-1);
freq_p=0.2*pi;
%通带截止频率0.2pi
alpha_p=1;
%通带最大衰减1dB
freq_s=0.3*pi;
%阻带截止频率0.3pi
alpha_s=25;
%阻带最小衰减15dB
Fs_array=[12];
%采样频率
Color_array=['
r'
'
];
forIII=1:
2
color_used=Color_array(III);
Fs=Fs_array(III);
T=1/Fs;
analog_freq_p=freq_p/T;
%数字频率w到模拟角频率W的转换W=w/T;
analog_freq_s=freq_s/T;
%根据模拟滤波器的指标求巴特沃兹滤波器的阶次
k_sp=sqrt(10^(alpha_p/10)-1)/sqrt(10^(alpha_s/10)-1);
%求ksp
lamda_sp=2*pi*analog_freq_s/(2*pi*analog_freq_p);
%求lanmdasp
N=ceil(-log10(k_sp)/log10(lamda_sp));
%求N
Wc=analog_freq_p*(10^(analog_freq_p/10)-1)^(-1/2/N);
%3dB截至频率
p=zeros(1,N);
forI=1:
N
p(I)=exp(J*pi/2+J*pi*(2*I-1)/2/N);
%求传输函数极点
%根据得到的零点、极点得到归一化的传输函数H(p)
z=[];
%表示无零点
[ba]=zp2tf(z,p,1);
%得到传递函数tf:
trans-function,第三个参数为增益=1
%根据p=s/Wc把归一化传输函数H(p)的系数转换为实际的模拟传输函数H(s)
bs=zeros(1,length(b));
%H(s)的分子系数
as=zeros(1,length(a));
%对与N阶模拟滤波器,设其传输函数分子分母系数分别为bs,as
temp=[N:
0];
%以下为对H(s)进行去归一化
temp=Wc.^temp;
bs=b./temp;
as=a./temp;
temp=as
(1);
as=as/temp;
%验证与书上结果是否一致
bs=bs/temp;
freq_analog=linspace(0,2*analog_freq_s);
H_analog=freqs(bs,as,freq_analog);
figure
(1);
plot(freq_analog,20*log10(abs(H_analog)),color_used);
gridon;
holdon;
xlabel('
模拟角频率(rad/s)'
);
ylabel('
幅频响应(dB)'
title('
模拟滤波器的频率响应'
%根据H(s)获得H(z),使用脉冲响应不变法
[bz,az]=impinvar(bs,as,Fs);
%根据模拟滤波器系数b,a,按照采样率fs转换为系数为bz,az的数字IIR滤波器
freq_digital=[0:
0.1:
2*pi-0.1];
H=freqz(bz,az,freq_digital);
figure
(2);
plot(freq_digital/pi,20*log10(abs(H)),color_used);
数字频率/pi'
ylabel('
数字IIR滤波器频率响应'
figure
(1),legend(['
Fs='
num2str(Fs_array
(1))'
Hz'
],['
Fs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈工大 威海 数字信号 处理 实验 报告