MATLAB实验
(一)
1.离散傅里叶变换
1.计算x=[1 0 2 3]的离散傅里叶变换值X。
程序:
clc;close;clear
x=[1 0 2 3];
X=fft(x)
save X
结果:
X= 6.0000 + 0.0000i -1.0000 + 3.0000i 0.0000 + 0.0000i -1.0000 - 3.0000i
2.矩阵相关
1.在区间[0,1]s上生成均匀分布的长度为20的向量A。
程序:
A=linspace(0,1,20)
结果:
列 1 至 11
0 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263
列 12 至 20
0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1.0000
2.请生成均值为0.5、方差为0.04的5阶正态分布随机矩阵B。
程序:
B=0.5+sqrt(0.04)*randn(5)
结果
B =
0.6075 0.2385 0.2300 0.4590 0.6343
0.8668 0.4133 1.1070 0.4752 0.2585
0.0482 0.5685 0.6451 0.7979 0.6434
0.6724 1.2157 0.4874 0.7818 0.8260
0.5638 1.0539 0.6429 0.7834 0.5978
- 生成长度为100的单位阶跃序列,阶跃点n0=25。用离散信号图表示。
程序:
N=100;n=25
u=ones(1,N);
u(1,1:n)=0;
stem(0:N-1,u)
3.信号叠加
1.幅度为1V,频率为5Hz的正弦信号和(0,0.01)的白噪声信号的叠加。信号长1秒。设采样频率为100Hz。将正弦信号和白噪声信号表示在一张图形框,不同坐标系内。另起一个图形框对叠加信号作图。
程序:
ts=0;te=1;
fs=100;f1=5;
t=ts:1/fs:te;
y1=sin(2*pi*f1*t);
y2=sqrt(0.01)*randn(size(t));
subplot(1,2,1);plot(t,y1,'c')
subplot(1,2,2);plot(t,y2,'m')
figure(2)
plot(t,y1+y2,'k')
4.卷积和
已知y=conv(x,h)能够完成输入信号x(n)与系统单位样值响应h(n)的卷积操作,得到输出信号y(n)
请通过调用子函数y=conv(x,h),编制一个程序 [y ny ]=conv1(x,h,nx,nh),其中ny是y(n)第一个样值的n值, nx是x(n)第一个样值的n值, nh是h(n)第一个样值的n值.
完成: (1) 若 x(n)=[3 1 21 5 3.7 ] ,nx =-1; h(n)=[1 1 3 ] ,nh=-2 ,则y(n)和ny为多少?请用你编制的函数conv1完成。
程序:
x=[3 1 21 5 3.7]
h=[1 1 3]
nx=-1;
h=[1 1 3];
nh=-2;
y=conv(x,h)
ny=nx+nh
[y,ny]=conv1(x,h,nx,nh)
y =
3.0000 4.0000 31.0000 29.0000 71.7000 18.7000 11.1000
ny =
-3
2) 给出conv1的程序内容
function [y,ny]=conv1(x,h,nx,nh)
ny=nx+nh
wa = length(x);
wb = length(h);
y = zeros(1,wa+wb-1);
for k = 1:wa
c = x(k)*h;
d = y(1,k:k+wb-1);
d = d+c;
y(1,k:k+wb-1) = d;
end
(二)
1.差分方程的零极点,冲激响应,频响特性曲线,Simulink系统结构图。
1.已知系统的差分方程为:
(1)给出该系统的零点向量q和极点向量p值,并在z平面上绘制零极点图
(给出命令语句);
程序:
clc;clear;close;
a=[0.2 0.1 0];
b=[1 -0.4 -0.5];
[q,p,k]=tf2zp(a,b)
zplane(q,p)
q = 0
-0.5000
p = 0.9348
-0.5348
k = 0.2000
q =0
2.给出求该系统的单位冲激响应,并作出冲激响应的时域图(给出命令语句);
程序:
clc;clear;close;
a=[0.2 0.1 0];b=[1 -0.4 -0.5];
[h,t]=impz(a,b,7,1000)
subplot(1,2,1);stem(t,h)
subplot(1,2,2);impz(a,b)
h =
0.2000
0.1800
0.1720
0.1588
0.1495
0.1392
0.1304
t =
0
0.0010
0.0020
0.0030
0.0040
0.0050
0.0060
3.绘制该系统的频响特性图(给出命令语句);
程序:
clc;clear;close;
a=[0.2 0.1 0];b=[1 -0.4 -0.5];
freqz(a,b)
4.试在Simulink下绘制系统的结构图,并给出该系统的单位阶跃响应波形图。
2.设计不同类型的滤波器
设计一个切比雪夫2型低通滤波器,通带截止频率为500Hz,阻带截止频率为750Hz,通带衰减rp小于5dB,阻带衰减rs大于50 dB,取样频率为fs=2000Hz。
1.请用冲激响应不变法设计
程序:
clc;clear;close
fp=500;fss=750;fs=2000;rp=5;rs=1;
wp1=2*pi*fp/fs;
wss1=2*pi*fss/fs;
[N,wc]=cheb2ord(2*pi*fp,2*pi*fss,rp,rs,'s')
[z,p,k]=cheb2ap(N,rs);
[ba,aa]=zp2tf(z,p,k)
[b,a]=lp2lp(ba,aa,wc)
[bz,az]=impinvar(b,a,fs)
[H,f]=freqz(bz,az);
ma=20*log10(abs(H));mp=angle(H)*180/pi;
subplot(2,1,1);plot(f/pi,ma)
subplot(2,1,2);plot(f/pi,mp)
N =
7
wc =
4.3960e+03
ba =
0 0.0221 0 0.1771 0 0.3542 0 0.2024
aa =
1.0000 3.3942 5.7602 6.3172 4.8481 2.6391 0.9617 0.2024
b =
1.0e+24 *
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 6.4207
a =
1.0e+24 *
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0069 6.4207
bz =
0.0487 0.1109 0.3499 0.3793 0.2713 0.0821 0.0068
az =
1.0000 -0.5268 0.9353 -0.3602 0.1937 -0.0460 0.0078 -0.0006
H(z):
printsys(bz,az,‘z’)
num/den =
0.048655 z^6 + 0.11087 z^5 + 0.34993 z^4 + 0.37929 z^3 + 0.27128 z^2
- 0.082133 z + 0.00683
z^7 - 0.52681 z^6 + 0.93531 z^5 - 0.36023 z^4 + 0.19368 z^3 - 0.045952 z^2
- 0.0078053 z - 0.00057534
2.请用双线性法设计
clc;clear;close
fp=500;fss=750;fs=2000;rp=5;rs=50;
wp1=2*pi*fp/fs;
wss1=2*pi*fss/fs;
op1=2*fs*tan(wp1/2);
os1=2*fs*tan(wss1/2);
[N,wc]=cheb2ord(op1,os1,rp,rs,'s')
[z,p,k]=cheb2ap(N,50);
[ba,aa]=zp2tf(z,p,k)
[b,a]=lp2lp(ba,aa,wc)
[bz,az]=bilinear(b,a,fs)
[H,f]=freqz(bz,az);
ma=20*log10(abs(H));
mp=angle(H)*180/pi;
subplot(2,1,1);
plot(f/pi,ma)
subplot(2,1,2);
plot(f/pi,mp)
N =
4
wc =
9.5472e+03
ba =
0.0032 0 0.0253 0 0.0253
aa =
1.0000 1.0256 0.5260 0.1592 0.0253
b =
1.0e+14 *
0.0000 0 0.0000 0 2.1018
a =
1.0e+14 *
0.0000 0.0000 0.0000 0.0014 2.1018
bz =
0.1027 0.3469 0.4938 0.3469 0.1027
az =
1.0000 -0.1361 0.5231 -0.0158 0.0218
printsys(bz,az,‘z’)
num/den =
0.10268 z^4 + 0.34692 z^3 + 0.49384 z^2 + 0.34692 z + 0.10268
z^4 - 0.1361 z^3 + 0.52312 z^2 - 0.015755 z + 0.02179
- 请指出两种方法设计的滤波器有何不同,说明原因。
脉冲响应不变法的优点:
1,模拟频率到数字频率的转换时线性的。 2,数字滤波器单位脉冲响应的数字表示近似原型的模拟滤波器单位脉冲响应,因此时域特性逼近好。
缺点:会产生频谱混叠现象,只适合带限滤波器
双线性变换法优点:克服多值映射得关系,可以消除频率的混叠
缺点:是非线性的,在高频处有较大的失真。
3.窗函数设计
用窗函数法设计一个线性相位的FIR低通滤波器,指标为:上下边带截止频率为w1=0.3pi,w2=0.5pi,阶数为N=15,采用海明窗设计。
clc;clear;close
wp=0.3*pi;ws=0.5*pi;
detaw=ws-wp;
wc=(wp+ws)/2;
b=fir1(15,wc/pi,hamming(16))
freqz(b,1,512)
n =
33
b =
列 1 至 11
0.0015 -0.0000 -0.0025 -0.0023 0.0033 0.0078 -0.0000 -0.0151 -0.0126 0.0168 0.0361
列 12 至 22
-0.0000 -0.0654 -0.0575 0.0902 0.2998 0.3997 0.2998 0.0902 -0.0575 -0.0654 -0.0000
列 23 至 33
0.0361 0.0168 -0.0126 -0.0151 -0.0000 0.0078 0.0033 -0.0023 -0.0025 -0.0000 0.0015
n =
16