MATLAB信号处理例题
数字信号处理第二章习题26、30、32解答(包括matlab运行程序)
题2-30 假设系统函数如下式:5147.13418.217.198.33)3)(9()(234-++--+=z z z z z z z H试用MATLAB 语言判断系统是否稳定。
解:该系统不稳定 Matlab 程序:2-30.m Matlab 图如下:Real PartI m a g i n a r y P a r tZero-pole题2-32 下面四个二阶网络的系统函数具有一样的极点分布:2119425.06.111)(--+-=z z z H21129425.06.113.01)(---+--=z z z z H21139425.06.118.01)(---+--=z z z z H 212149425.06.118.06.11)(----+-+-=z z z z z H试用MATLAB 语言研究零点分布对于单位脉冲响应的影响。
要求: (1)分别画出各系统的零、极点分布图;(2)分别求出各系统的单位脉冲响应,并画出其波形; (3)分析零点分布对于单位脉冲响应的影响。
解:系统1的Matlab 程序:2-32-1.m 其零极点及单位脉冲响应如图a-1-0.500.51Real Part I m a g i n a r y P a r tImpulse response图 a系统2的Matlab 程序:2-32-2.m 其零极点及单位脉冲响应如图b-1-0.500.51Real Part I m a g i n a r y P a r tZero-poleImpulse response图 b系统3的Matlab 程序:2-32-3.m 其零极点及单位脉冲响应如图c-1-0.500.51Real Part I m a g i n a r y P a r t图 c系统4的Matlab 程序:2-32-4.m 其零极点及单位脉冲响应如图d-1-0.500.51Real Part I m a g i n a r y P a r tZero-pole图 d(3)零点愈靠近极点,单位脉冲响应的变化愈缓慢,因此,零点对极点的作用起到了抵消作用。
数字信号处理Matlab练习第三章-080802084朱桂香
1.编写一个Matlab程序,用一个N点的复数离散傅里叶变换计算两个长度为N的实数序列的N点离散傅里叶变换,并将结果同直接使用两个N点离散傅里叶变换得到的结果进行比较。
n=0:11; %设定n的范围x1=cos(pi/6.*n); %给定序列x1[n]x2=(4/5).^n; %给定序列x2[n]w1=x1+1i*x2; %由序列x1[n]和x2[n]组成复数序列w1[n]w2=x1-1i*x2; %序列w1[n]的共轭序列w2[n]figure,subplot(2,1,1),stem(n,x1); %指定位置1,绘制序列x1[n]xlabel('n'); %设定序列x1[n]的横轴标注和纵轴标注ylabel('x1[n]');subplot(2,1,2),stem(n,x2); %指定位置2,绘制序列x2[n]xlabel('n'); %设定序列x2[n]的横轴标注和纵轴标注ylabel('x2[n]');figure,subplot(4,1,1),stem(abs(w1)); %指定位置1,绘制序列w1[n]幅度谱xlabel('n'); %设定横轴标注,纵轴标注和标题ylabel('magnitude');title('W1的幅度谱');subplot(4,1,2),stem(angle(w1)); %指定位置2,绘制序列w1[n]相位谱xlabel('n'); %设定横轴标注,纵轴标注和标题ylabel('phase');title('W1的相位谱');subplot(4,1,3),stem(abs(w2)); %指定位置3,绘制序列w2[n]幅度谱xlabel('n'); %设定横轴标注,纵轴标注和标题ylabel('magnitude');title('W2的幅度谱');subplot(4,1,4),stem(angle(w2)); %指定位置4,绘制序列w2[n]相位谱xlabel('n'); %设定横轴标注,纵轴标注和标题ylabel('phase');title('W2的相位谱');X1=fft(x1); %求序列x1[n]的离散傅里叶变换X1(k)X2=fft(x2); %求序列x2[n]的离散傅里叶变换X2(k)W1=fft(w1); %求序列w1[n]的离散傅里叶变换W1(k)W2=fft(w2); %求序列w2[n]的离散傅里叶变换W2(k)Y1=(1/2)*(W1+W2); %由W1(k)和W2(k)来求X1(k)Y2=(1/(2*1i))*(W1-W2); %由W1(k)和W2(k)来求X2(k)figure,subplot(2,1,1),stem(abs(X1)); %指定位置1,绘制|X1(k)|xlabel('k'); %设定横轴标注和纵轴标注ylabel('|X1(k)|');subplot(2,1,2),stem(abs(Y1)); %指定位置2,绘制|Y1(k)|xlabel('k'); %设定横轴标注和纵轴标注ylabel('|Y1(k)|');figure,subplot(2,1,1),stem(abs(X2)); %指定位置1,绘制|X2(k)|xlabel('k'); %设定横轴标注和纵轴标注ylabel('|X2(k)|');subplot(2,1,2),stem(abs(Y2)); %指定位置2,绘制|Y2(k)|xlabel('k'); %设定横轴标注和纵轴标注 ylabel('|Y2(k)|');结果图:nx 1[n]024681012nx 2[n ]图1 序列x1[n]和x2[n]02468101212nm a g n i t u d eW1的幅度谱24np h a s eW1的相位谱02468101212nm a g n i t u d eW2的幅度谱024681012-4-20np h a s e图2 w1和w2的幅度谱和相位谱图246k|X 1(k )|246k|Y 1(k )|图3 两种计算X1(k)的方法比较024681012246k|X 2(k )|024681012246k|Y 2(k )|图4 两种计算X2(k)的方法比较2.编写一个Matlab 程序,用两个N 点的复数离散傅里叶变换计算一个长度为2N 的实数序列的2N 点离散傅里叶变换,并将结果同直接使用一个2N 点离散傅里叶变换得到的结果进行比较。
matlab数字信号处理85个实用案例精讲
matlab数字信号处理85个实用案例精讲MATLAB数字信号处理85个实用案例精讲MATLAB是一种强大的数学软件,广泛应用于数字信号处理领域。
本文将介绍85个实用案例,涵盖了数字信号处理的各个方面,包括信号生成、滤波、频谱分析、时频分析、数字滤波器设计等。
1. 信号生成案例:生成正弦信号在MATLAB中,可以使用sin函数生成正弦信号。
例如,生成频率为100Hz,幅度为1的正弦信号,代码如下:t = 0:0.001:1;f = 100;x = sin(2*pi*f*t);2. 滤波案例:低通滤波低通滤波器可以滤除高频信号,保留低频信号。
在MATLAB中,可以使用fir1函数设计低通滤波器。
例如,设计截止频率为100Hz的低通滤波器,代码如下:fs = 1000;fc = 100;N = 100;b = fir1(N, fc/(fs/2), 'low');3. 频谱分析案例:计算功率谱密度功率谱密度是信号在频域上的能量分布。
在MATLAB中,可以使用pwelch函数计算功率谱密度。
例如,计算频率为100Hz的正弦信号的功率谱密度,代码如下:t = 0:0.001:1;f = 100;x = sin(2*pi*f*t);[Pxx, f] = pwelch(x, [], [], [], 1000);4. 时频分析案例:计算短时傅里叶变换短时傅里叶变换可以分析信号在时间和频率上的变化。
在MATLAB中,可以使用spectrogram函数计算短时傅里叶变换。
例如,计算频率为100Hz的正弦信号的短时傅里叶变换,代码如下:t = 0:0.001:1;f = 100;x = sin(2*pi*f*t);spectrogram(x, [], [], [], 1000, 'yaxis');5. 数字滤波器设计案例:设计巴特沃斯滤波器巴特沃斯滤波器是一种常用的数字滤波器,可以实现平滑滤波和带通滤波。
matlab信号处理经典例程
实验一 离散时间信号时域和频域分析1、信号相加并作图数学描述: )()()(21n x n x n x +=MATLAB 实现: 21X X X +=设 x1=[1 0.7 0.4 0.1 0]; x2=[0.1 0.3 0.5 0.7 0.9 1]参考程序:n1=1:5;x1=[1 0.7 0.4 0.1 0];n2=3:8;x2=[0.1 0.3 0.5 0.7 0.9 1];n=1:8;x1=[x1 zeros(1,8-length(n1))];x2=[zeros(1,8-length(n2)) x2];x=x1+ x2;Subplot(3,1,1);Stem(n,x1);Subplot(3,1,2);Stem(n,x2);Subplot(3,1,3);Stem(n,x);2、信号相乘并作图数学描述: )()()(21n x n x n x *=MATLAB 实现: 2.1X X X *=x1,x2取值与上题相同。
参考程序:n1=1:5;x10=[1 0.7 0.4 0.1 0];n2=3:8;x20=[0.1 0.3 0.5 0.7 0.9 1];n=1:8;x1=[x10 zeros(1,8-length(n1))];x2=[zeros(1,8-length(n2)) x20];x=x1.*x2;Subplot(3,1,1);Stem(n,x1);Subplot(3,1,2);Stem(n,x2);Subplot(3,1,3);Stem(n,x);3、计算卷积用MATLAB 计算序列a=[-2 0 1 –1 3]和b=[1 2 0 -1]的离散卷积。
首先用手工计算,然后用MATLAB 编程计算,作图验证手工计算结果。
参考程序:a=[-2 0 1 -1 3];b=[1 2 0 -1];c=conv(a,b);M=length(c)-1;n=0:1:M;stem(n,c);xlabel('n'); ylabel('幅度');4、已知系统函数 ,作零极点图,并求z 反变换。
数字信号处理matlab版答案
数字信号处理matlab版答案【篇一:数字信号处理matlab实例】txt>例1-1 用matlab计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。
解 matlab程序如下:a=[-2 0 1 -1 3];b=[1 2 0 -1];c=conv(a,b);m=length(c)-1;n=0:1:m;stem(n,c);xlabel(n); ylabel(幅度);图1.1给出了卷积结果的图形,求得的结果存放在数组c中为:{-25 1 -3}。
例1-2 用matlab计算差分方程 -4 1 31当输入序列为解 matlab程序如下:时的输出结果。
脉冲响应。
n=41; a=[0.8 -0.44 0.36 0.22]; b=[1 0.7 -0.45 -0.6]; x=[1zeros(1,n-1)]; k=0:1:n-1; y=filter(a,b,x); stem(k,y)xlabel(n);ylabel(幅度) 1.2 给出了该差分方程的前41个样点的输出,即该系统的单位图例1-3 用matlab计算例1-2差分方程所对应的系统函数的dtft。
解例1-2差分方程所对应的系统函数为:0.8?0.44z?1?0.36z?2?0.02z?3h(z)?1?0.7z?1?0.45z?2?0.6z?3其dtft为 0.8?0.44e?j??0.36e?j2??0.02e?j3?)?1?0.7e?j??0.45e?j2??0.6e?j3? h(e?j?用matlab计算的程序如下:k=256; num=[0.8 -0.44 0.36 0.02]; den=[1 0.7 -0.45 -0.6];w=0:pi/k:pi; h=freqz(num,den,w); subplot(2,2,1);plot(w/pi,real(h));grid title(实部) xlabel(\omega/\pi);ylabel(幅度) subplot(2,2,2); plot(w/pi,imag(h));gridtitle(虚部) xlabel(\omega/\pi);ylabel(amplitude) subplot(2,2,3); plot(w/pi,abs(h));grid title(幅度谱) xlabel(\omega/\pi);ylabel(幅值) subplot(2,2,4); plot(w/pi,angle(h));grid title(相位谱)xlabel(\omega/\pi);ylabel(弧度)第2章离散傅里叶变换及其快速算法例2-1 对连续的单一频率周期信号按采样频率长度n分别选n =20和n =16,观察其dft结果的幅度谱。
信号与系统matlab实验习题3 绘制典型信号及其频谱图
绘制典型信号及其频谱图答案在下面四个常用信号及其傅里叶变换式如表1所示。
(1)绘制单边指数信号及其频谱图的MATLAB程序如下:close all;E=1;a=1;t=0:0.01:4;w=-30:0.01:30;f=E*exp(-a*t);F=1./(a+j*w);plot(t,f);xlabel('t');ylabel('f(t)');figure;plot(w,abs(F));xlabel('\omega');ylabel('|F(\omega)|');figure;max_logF=max(abs(F));plot(w,20*log10(abs(F)/max_logF));xlabel('\omega');ylabel('|F(\omega)| indB');figure;plot(w,angle(F));xlabel('\omega');ylabel('\phi(\omega)');请更改参数,调试此程序,绘制单边指数信号的波形图和频谱图。
观察参数a 对信号波形及其频谱的影响。
注:题目中阴影部分是幅频特性的对数表示形式,单位是(dB),请查阅相关资料,了解这种表示方法的意义及其典型数值对应的线性增益大小。
(2)绘制矩形脉冲信号、升余弦脉冲信号和三角脉冲信号的波形图和频谱图,观察并对比各信号的频带宽度和旁瓣的大小。
(3)更改参数,调试程序,绘制单边指数信号的波形图和频谱图。
观察参数a对信号波形及其频谱的影响。
答案附上程序代码:close all;E=1;a=1;t=0:0.01:4;w=-30:0.01:30;f=E*exp(-a*t);F=1./(a+j*w);plot(t,f);xlabel('t');ylabel('f(t)');figure;plot(w,abs(F));xlabel('\omega');ylabel('|F(\omega)|';E=1,a=1,波形图 频谱图更改参数E=2,a=1;更改参数a ,对信号波形及其频谱的影响。
数字信号处理课后MATLAB习题答案
30
40
50
60
70
80
90
100
cos(6*pi*t) 1 0 -1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
cos(14*pi*t) 1 0 -1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
cos(26*pi*t) 1 0 -1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
cos(6*pi*t) 1 0 -1
1 Im g a P rt a in ry a 0.5 0 -0.5 -1 -3 -2 -1 0 Real Part 1 2 3 2
5 4 3 2 1 0 0 10 20 30 40 50 60 70 80 90 100
8 6 4 2 0
0
10
20
30
40
50
60
70
80
90
100
1-3(1)利用 MALTAB 语句 X=firls(511,[0 0.4 0.404],[1 1 0 0]) 产生一个 512 点的序列 x[k],并画出序列的频谱。
321012301020303210123105051015画出下列离散系统的幅度响应曲线和相位响应曲线并指出滤波器的类型
姓名:杨秀业 班级:电信 10-2
学号:3100718217
1-1 已知 g1 = cos(6πt ), g 2 = cos(14πt ) g 3 = cos( 26πt ) ,以抽样频率 fsam = 10 Hz 对上述 , 信号进行抽样。在同一张图上画出 g1,g2,和 g3 及其抽样点。对所得结果进行讨论。
现代信号处理例题及matlab代码实现
《现代信号处理》期末考核作业1 MATLAB仿真均值为0,方差为1的白噪声信号,信号长度N=1024,并用周期图法分别求500、1000和1500次实现的平均功率谱密度,画图。
程序代码如下:clear;clear all;N=1024;%数据长度Nfft=1024;%FFT所采用的数据长度n=0:N-1;wn=randn(1,N);%产生随机白噪声subplot(2,2,1);%绘出白噪声序列plot(n,wn);title('白噪声');%500次实现的平均功率谱密度s=zeros(1,N);for i=1:500wn=randn(1,N);%产生随机白噪声Pxx=10*log10(abs(fft(wn,Nfft).^2)/N);%Fourier振幅谱平方的平均值,并转换为dbs=s+Pxx;ends=s/500;f=(0:length(Pxx)-1)/length(Pxx);%绘出频率序列subplot(222);plot(f,s);xlabel('频率/Hz');ylabel('功率谱/dB');title('500次实现的平均功率谱密度');grid on;%1000次实现的平均功率谱密度s=zeros(1,N);for i=1:1000wn=randn(1,N);%产生随机白噪声Pxx=10*log10(abs(fft(wn,Nfft).^2)/N);%Fourier振幅谱平方的平均值,并转换为dbs=s+Pxx;ends=s/1000;f=(0:length(Pxx)-1)/length(Pxx);%绘出频率序列subplot(223);plot(f,s);xlabel('频率/Hz');ylabel('功率谱/dB');title('1000次实现的平均功率谱密度');grid on;%500次实现的平均功率谱密度s=zeros(1,N);for i=1:1500wn=randn(1,N);%产生随机白噪声Pxx=10*log10(abs(fft(wn,Nfft).^2)/N);%Fourier振幅谱平方的平均值,并转换为dbs=s+Pxx;ends=s/1500;f=(0:length(Pxx)-1)/length(Pxx);%绘出频率序列subplot(224);plot(f,s);xlabel('频率/Hz');ylabel('功率谱/dB');title('1500次实现的平均功率谱密度');grid on;实验结果图如下:2仿真如下随机过程:sin(n+)sin(n+)23n n x V ππ=++φφ其中:V n 是均值为0,方差为1的Gaussian 白噪声过程,Φ为随机相位,在[0,2π]间服从均匀分布。
matlab 数字信号处理例题
例(1.20)用编程产生下例复指数序列x=exp((0.4+0.6j)*n);-1<=n<=10n0=-1;n2=10;n=n0:n2;x=exp((0.4+0.6j)*n);figure(1)subplot(211)stem(n,real(x),'filled');axis([-4,10,min(real(x))-1,1.2*max(real(x))])title('复指数序列')ylabel('实部');grid;subplot(212)stem(n,imag(x),'filled');axis([-4,10,min(imag(x))-1,1.2*max(imag(x))])ylabel('虚部');xlabel('n');grid;例(1.21)X(n)=[1,2,3,4],求将它延拓5个周期所得到的序列。
x=[1,2,3,4];N=length(x);k=5;nx=0:N-1;ny=0:(k*N-1);y=x(mod(ny,N)+1);figure(1)subplot(211),stem(nx,x,'.');axis([-1,N+1,0,5]);grid;title('序列')ylabel('x(n)');subplot(212),stem(ny,y,'.');axis([-1,20,0,5]);grid;ylabel('x(n)延拓');例(1.22)已知两序列为x1(n)=[1,3,5,7,6,4,2,1],起始位置ns1=-3,x2(n)=[4,0,2,1,-1,3],起始位置ns2=1,求他们的和ya以及乘积ym。
x1=[1,3,5,7,6,4,2,1];ns1=-3;x2=[4,0,2,1,-1,3];ns2=1;nf1=ns1+length(x1)-1;nf2=ns2+length(x2)-1;n1=ns1:nf1;n2=ns2:nf2;n=min(ns1,ns2):max(nf1,nf2);y1=zeros(1,length(n));y2=y1;y1(find((n>=ns1)&(n<=nf1)==1))=x1;y2(find((n>=ns2)&(n<=nf2)==1))=x2;ya=y1+y2;ym=y1.*y2;subplot(221);stem(n1,x1,'filled');ylabel('x1(n)');grid;subplot(223);stem(n2,x2,'filled');xlabel('n');ylabel('x2(n)');grid;subplot(222);stem(n,ya,'filled');ylabel('y1(n)+y2(n)');grid;subplot(224);stem(n,ym,'filled');xlabel('n');ylabel('y1(n)*y2(n)');grid;例(1.23)用convwthn求解x(n)=[1,2,3,-1,-2],nx=[-1,3]与h(n)=[2,2,1,-1,4,-2],nh=[-3,2]的卷积。
数字信处理课后习题matlab作业
数字信号处理MATLAB习题数字信号处理MATLAB 习题M1-1 已知1()cos(6)g t t π=,2()cos(14)g t t π=,3()cos(26)g t t π=,以抽样频率10sam f Hz =对上述三个信号进行抽样。
在同一张图上画出1()g t ,2()g t 和3()g t 及抽样点,对所得结果进行讨论。
解:从以上两幅图中均可看出,三个余弦函数的周期虽然不同,但它们抽样后相应抽样点所对应的值都相同。
那么这样还原回原先的函数就变成相同的,实际上是不一样的。
这是抽样频率太小的原因,我们应该增大抽样频率才能真实还原。
如下图:f=50Hz程序代码f=10;t=-0.2:0.001:0.2;g1=cos(6.*pi.*t);g2=cos(14.*pi.*t);g3=cos(26.*pi.*t);k=-0.2:1/f:0.2;h1=cos(6.*pi.*k);h2=cos(14.*pi.*k);h3=cos(26.*pi.*k);% subplot(3,1,1);% plot(k,h1,'r.',t,g1,'r');% xlabel('t');% ylabel('g1(t)');% subplot(3,1,2);% plot(k,h2,'g.',t,g2,'g');% xlabel('t');% ylabel('g2(t)');% subplot(3,1,3);% plot(k,h3,'b.',t,g3,'b');% xlabel('t');% ylabel('g3(t)');plot(t,g1,'r',t,g2,'g',t,g3,'b',k,h1,'r.',k,h2,'g.',k,h3,'b.')xlabel('t');ylabel('g(t)');legend('g1(t)','g2(t)','g3(t)');M2-1 利用DFT的性质,编写一MATLAB程序,计算下列序列的循环卷积。
MATLAB信号处理例题
◆例1设方波的数学模型为:]5sin 513sin 31[sin 4)(000 +++=t t t E t f T ωωωπ ,基频: Tπω20=用MATLAB 软件完成该方波的合成设计◆ MATLAB 源程序t=-10:0.1:10; %设定一个数组有201个点,方波周期为20e=5;w=pi/10; %设定方波幅值为5,w 代表w0m=-5*sign(t); %给定幅值为5的方波函数y1=(-4*e/pi)*sin(w*t); %计算1次谐波y3=(-4*e/pi)*(sin(w*t)+sin(3*w*t)/3); %计算3次谐波y5=(-4*e/pi)*(sin(w*t)+sin(3*w*t)/3+sin(5*w*t)/5); %计算5次谐波 plot(t,y1,'y');hold; grid; %用黄色点线画出1次谐波及网格线,并在同一张图上画其余曲线plot(t,y3,'g'); %用绿色点线画出3次谐波plot(t,y5,'b'); %用蓝色点线画出5次谐波plot(t,m,'-k'); %用黑色实线画方波title('方波合成');xlabel('t');ylabel('f(t)'); %为图形加上标题 n=50; %合成任意次方波,n 决定方波的合成次数,在此给定50yn=0; %设置初始值for i=1:nyn=yn+(-4*e/pi)*(1/(2*i-1))*sin((2*i-1)*w*t);end; %计算n 次谐波合成plot(t,yn,'r') %用红色实线画出n 次谐波合成◆ 从图中我们可以看到Gibbs 现象。
在函数的间断点附近,增加傅里叶级数的展开次数,虽然可以使其间断点附近的微小振动的周期变小,但振幅却不能变小。
此现象在控制系统表现为:当求控制系统对阶跃函数的响应时,超调量总是存在的。
matlab经典例题
matlab经典例题MATLAB是一种强大的数值计算和科学编程软件,广泛应用于各个领域。
下面我将为你介绍一些MATLAB的经典例题,涵盖了不同的应用领域和难度级别。
1. 线性代数,计算矩阵的逆矩阵。
MATLAB中可以使用inv函数计算矩阵的逆矩阵。
例如,给定一个3x3的矩阵A,可以使用以下代码计算其逆矩阵:matlab.A = [1, 2, 3; 4, 5, 6; 7, 8, 9];invA = inv(A);disp(invA);运行以上代码后,MATLAB会输出矩阵A的逆矩阵。
2. 数值积分,计算函数的定积分。
MATLAB中可以使用integral函数计算函数的定积分。
例如,计算函数f(x) = x^2在区间[0, 1]上的定积分,可以使用以下代码:matlab.f = @(x) x^2;result = integral(f, 0, 1);disp(result);运行以上代码后,MATLAB会输出函数f(x)在区间[0, 1]上的定积分值。
3. 信号处理,绘制正弦信号的频谱图。
MATLAB中可以使用fft函数进行信号的傅里叶变换,并使用abs函数取得频谱的幅值。
例如,绘制频率为10Hz的正弦信号的频谱图,可以使用以下代码:matlab.fs = 1000; % 采样频率。
t = 0:1/fs:1; % 时间向量。
f = 10; % 正弦信号的频率。
x = sin(2pift); % 生成正弦信号。
X = fft(x); % 对信号进行傅里叶变换。
f_axis = linspace(0, fs, length(X)); % 频率轴。
plot(f_axis, abs(X)); % 绘制频谱图。
xlabel('Frequency (Hz)');ylabel('Amplitude');运行以上代码后,MATLAB会绘制出正弦信号的频谱图。
4. 图像处理,图像的灰度化和二值化。
数字信号处理习题答案及matlab实验详解.pdf
解:(1)系统的转移函数是是其单位抽样响应的 Z 变换,因此
H (z)
1 1 z1
1 1 0.3z1
1 1 0.6z1
(1
3 3.8z1 1.08z2 z1)(1 0.3z1)(1 0.6z1)
1
3 1.9
3.8z1 1.08z2 z1 1.08z2 0.18z
3
Z 1
系统的零极点图如下图所示: B=[3,-3.8,1.08]; A=[1,-1.9,1.08,-0.18]; [Z,P,K]=tf2zp(B,A); Zplane(B,A)
1 2
n
u(n),
x
2
(n)
1 3
n
u
(n)
利用 Z 变换性质求 y(n)的 Z 变换 Y(Z)。
实验 2-1 离散系统的分析的基本理论 实验目的:加深对离散系统基本理论和方法的理解
1 一线性移不变离散时间系统的单位抽样响应为 h(n) (1 0.3n 0.6n )u(n)
(1) 求该系统的转移函数 H (z) ,并画出其零-极点图; (2) 写出该系统的差分方程。
,
单位抽样响应(冲激响应)为: h(n) 6(0.5)n u(n) 5(0.25)n u(n)
即 h(0) 1, h(1) 1.75, h(2) 1.1875, h(3) 0.6719, h(4) 0.3555,......
阶跃响应为:y[n] x[n] h[n] x[m]h[n m] h(n m), n m, m 0
求零状态解:
由
x(n)
u
(n)
可知,
X
(
z)
1
1 z
1
H
(
z
MATLAB信号处理例子
Y=filter(B,A,X);实现IIR 滤波器的直接形式,B 为转移函数分子多项式系数,A 为分母多项式系数,dir2par 实现由直接型到并联型的转换,par2dir 可实现由并联型到直接型转换例子1、已知IIR 滤波器的系统函数为4321432142121618271131)(----------+++-+-=z z z z z z z z z H ,输入为单位冲激序列,求输出。
解:(1)、(IIR 滤波器直接型)%输入系数矩阵b=[1,-3,11,-27,18]; a=[16,12,2,-4,-1]; %输入序列x=[1,zeros(1,100)]; %滤波器输出y=filter(b,a,x); t=1:101; plot(t,y);xlabel('n');ylabel('y(n)');(2)IIR 级联型%直接型到级联型转换b=[1,-3,11,-27,18]; a=[16,12,2,-4,-1]; fprintf('级联型结构系数:') [sos,g]=tf2sos(b,a)级联型结构系数: sos =1.0000 -3.00002.0000 1.0000 -0.2500 -0.1250 1.0000 0.0000 9.0000 1.0000 1.0000 0.5000 g =0.0625由级联型系数写出H (z )的表达式⎪⎪⎭⎫ ⎝⎛--+-⎪⎪⎭⎫ ⎝⎛+++=-------2121212125.025.012315.01910625.0)(z z z z z z z z H [sos,g]=tf2sos(b,a),其中G 为系统的增益,sos 是一个kx6的矩阵,k 为二阶子系统的个数,每一行的元素按如下方式排列:[]k i A B sos tf i i i i i ,......2,1);,(2,,1,,,21210==--ααβββ(3)直接型到并联型的转换例子2、FIR 滤波器直接型到级联型的转换,系统的函数为:321324512132)(---+++=z z z z H 解:%FIR 滤波器直接型到级联型的转换b=[2,13/12,5/4,2/3]; a=1;fprintf('ji lian xing jie gou xi shu:'); [sos,g]=tf2sos(b,a) 级联型结构系数:sos =1.0000 0.5360 0 1.0000 0 0 1.0000 0.0057 0.6219 1.0000 0 0 g = 2H(z)的表达式 为:()()211629.00057.01536.012)(---+++=z z z z H例子3、设计一个巴特沃斯低通滤波器,满足以下性能指标:通带截止频率s rad p /10000=Ω,通带最大衰减dB A p 3=,阻带的截止频率s rad s /40000=Ω,阻带最小衰减dB A s 35=。
南理工数字信号处理matlab题库
DSP题库详解1已知3阶椭圆IIR数字低通滤波器的性能指标为:通带截止频率0.4π,通带波纹为0.6dB,最小阻带衰减为32dB。
设计一个6阶全通滤波器对其通带的群延时进行均衡。
绘制低通滤波器和级联滤波器的群延时。
%Progranm 1% Group-delay equalization of an IIR filter.%[n,d] = ellip(3,0.6,32,0.4);[GdH,w] = grpdelay(n,d,512);plot(w/pi,GdH); gridxlabel('\omega/\pi'); ylabel('Group delay, samples');title('Original Filter');F = 0:0.001:0.4;g = grpdelay(n,d,F,2); % Equalize the passbandGd = max(g)-g;% Design the allpass delay equalizer[num,den,tau] = iirgrpdelay(6, F, [0 0.4], Gd); %设计六阶的全通滤波器[b,a]=iirgrpdelay(6,F,[0 0.4],Gd);He1=dfilt.df2(b,a);He=dfilt.df2(n,d);He_all=dfilt.cascade(He,He1);grpdelay(He_all) %DFILT:Digital Filter Implementation.%[GdA,w] = grpdelay(num,den,512);%figure(2);%plot(w/pi,GdH+GdA); grid%xlabel('\omega/\pi');ylabel('Group delay, samples');%title('Group Delay Equalized Filter');2设计巴特沃兹模拟低通滤波器,其滤波器的阶数和3-dB截止频率由键盘输入,程序能根据输入的参数,绘制滤波器的增益响应。
matlab数字信号处理案例
matlab数字信号处理案例
1.语音信号处理:通过MATLAB分析语音信号的声音频谱,提取语音的基频、形态频谱、共振峰等特征,实现语音的录取、编码、压缩、分割等处理。
2.图像信号处理:利用MATLAB进行图像信号的去噪、增强、分割、识别等处理,如对卫星遥感图像进行分析,提取特定地物的信息,对医学图像进行病灶检测和诊断等。
3.生物信号处理:通过收集并处理电生理信号来分析生物系统的功能和活动,如心电信号的特征提取和诊断,脑电信号的频谱分析和事件相关电位分析,生物信号的模拟和仿真等。
4.控制系统信号处理:MATLAB可用于控制系统信号的建模和仿真,如对机器人和无人车等的运动控制、对“指挥舞台”的音频控制等。
5.通信信号处理:MATLAB可用于模拟通信信号的传输过程,通过配合不同的信号处理算法来处理数字信号,如对调制信号进行解调,对多天线通信系统进行信号检测、捕捉、译码等。
6.物理信号处理:例如遥测信号处理、光学信号处理、雷达信号处理等,将MATLAB与其他物理类型软件相结合,根据特定场景下信号处理的需要,选择相应的处理算法完成信号的分析和识别。
matlab与信号系统实验题库(1)
matlab与信号系统实验题库(1)1.设,试⽤MATLAB画出该系统的幅频特性和相频特性。
w=0:0.025:15;b=[1];a=[0.08,0.4,1];H=freqs(b,a,w);subplot(2,1,1);plot(w,abs(H));grid;title('H(jw)的幅频特性');subplot(2,1,2);plot(w,angle (H));grid;title('H(jw)的相频特性');2. 绘制出y(t)=ε(t-1)- ε(t-4)的幅频特性曲线。
syms t wGt=sym('heaviside(t-1)-heaviside(t-4)');Fw=fourier(Gt,t,w);FFw=maple('convert',Fw,'piecewise');FFP=abs(FFw);ezplot(FFP,[-10*pi 10*pi]);grid;axis([-10*pi 10*pi 0 3.5])3.若某连续系统的输⼊为e(t),输出为r(t),系统的微分⽅程为:,y’(0_)=5,y(0_)=0;,求全响应。
a=[1 5 6];b=[0 3 2];%定义a,b[A B C D]=tf2ss(b,a);%定义A,B,C,,D的返回值t=0:0.01:5;%定义时间范围f=exp(-2*t); %定义函数X0=[5,0];%系统状态变量X=[x1,x2,…..xn]'在t=0时刻的初值。
xlabel('t');%定义横标题title('全响应y(t)');%定义总横标题grid on;%⽹格4.求的拉⽒变换式,并⽤MATLAB绘制拉⽒变换在s平⾯的三维曲⾯图。
syms t s %定义符号变量ft=sym('2*exp(-t)*Heaviside(t)+5*exp(-3*t)*Heaviside(t)'); %定义时间函数f(t)的表达式Fs=laplace(ft) %求f(t)的拉⽒变换式F(s)FFss=abs(Fs); %求出F(s)的模ezmesh(FFss); %画出拉⽒变换的⽹格曲⾯图ezsurf(FFss); %画出带阴影效果的三维曲⾯图colormap(hsv); %设置图形中多条曲线的颜⾊顺序5.求的拉⽒变换式,并⽤MATLAB绘制拉⽒变换在s平⾯的三维曲⾯图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
◆例1设方波的数学模型为:]5sin 513sin 31[sin 4)(000 t t t E t f T ,基频: T20用MATLAB 软件完成该方波的合成设计◆ MATLAB 源程序t=-10:0.1:10; %设定一个数组有201个点,方波周期为20e=5;w=pi/10; %设定方波幅值为5,w 代表w0m=-5*sign(t); %给定幅值为5的方波函数y1=(-4*e/pi)*sin(w*t); %计算1次谐波y3=(-4*e/pi)*(sin(w*t)+sin(3*w*t)/3); %计算3次谐波y5=(-4*e/pi)*(sin(w*t)+sin(3*w*t)/3+sin(5*w*t)/5); %计算5次谐波plot(t,y1,'y');hold; grid; %用黄色点线画出1次谐波及网格线,并在同一张图上画其余曲线plot(t,y3,'g'); %用绿色点线画出3次谐波plot(t,y5,'b'); %用蓝色点线画出5次谐波plot(t,m,'-k'); %用黑色实线画方波title('方波合成');xlabel('t');ylabel('f(t)'); %为图形加上标题n=50; %合成任意次方波,n 决定方波的合成次数,在此给定50yn=0; %设置初始值for i=1:nyn=yn+(-4*e/pi)*(1/(2*i-1))*sin((2*i-1)*w*t);end; %计算n 次谐波合成plot(t,yn,'r') %用红色实线画出n 次谐波合成◆ 从图中我们可以看到Gibbs 现象。
在函数的间断点附近,增加傅里叶级数的展开次数,虽然可以使其间断点附近的微小振动的周期变小,但振幅却不能变小。
此现象在控制系统表现为:当求控制系统对阶跃函数的响应时,超调量总是存在的。
◆例2(P110)MATLAB中函数FFT应用举例。
%MATLAB中函数FFT应用举例t=0:0.001:0.6;x=sin(2*pi*50*t)+sin(2*pi*120*t);y=x+2*randn(size(t))subplot(2,1,1)plot(y(1:50))xlable(‘时间轴t’)ylable(‘信号值f(t)’)title(‘正弦波+随即噪声’,’FontSize’,10)y=fft(y,512);f=1000*(0:256)/512;subplot(2,1,2)plot(f,Y(1:257))set(gca,’Xtick’,[0,50,100,150,200,250,300,350,400,450,500])set(gca,’XtickLabel’,’0|50|100|150|200|250|300|350|400|450|500|’) xlabel(‘频率轴\omega’)ylabel(‘频谱幅值F(\omega)’)title(‘信号频谱’,’FontSize’,10)◆例3例 3.8.3 有一二阶系统,阻尼比 =0.47,固有频率500 n Hz ,采样间隔0004.0 t s,采样点数N =256。
试计算理论幅频特性与由系统阶跃响应计算出的幅频特性数据值,并画出两个计算结果的幅频特性曲线。
%example 3.8.3 MA TLAB PROGRAMN=256;dt=0.0004wn=500;seta=0.47;dw=2*pi/(N*dt);a=wn^2;b=[1,2*seta*wn,a];t=[0:dt:(N-1)*dt];c=step(a,b,t);w=[0:dw:(N-1)*dw];[mag,phase]=bode(a,b,w);ycw=fft(c);Re=real(ycw);Im=imag(ycw);for i=1:NRw(i,1)=1-Im(i,1)*(i-1)*dw*dt;Iw(i,1)=Re(i,1)*(i-1)*dw*dt;endffw=Rw+Iw*sqrt(-1);Aw=abs(ffw)semilogx(w,20*log10(mag),'r-')axis([100,10000,-30,10])text(600,12,'幅频特性')hold onsemilogx(w,20*log10(Aw))axis([100,10000,-30,10])grid on◆例4例6.2.4 用MATLAB 中的函数XCORR 求出下列两个周期信号的互相关函数,式中的f=10Hz 。
),2sin()(ft t x )902sin(5.0)( ft t y%例6.2.4 中计算两个周期信号互相关函数的MA TLAB 程序N=500;Fs=500;n=0:N-1;t=n/Fs;Lag=200;x=sin(2*pi*10*t);y=0.5*sin(2*pi*10*t+90*pi/180);[c,lags]=xcorr(x,y,Lag,'unbiased');subplot(2,1,1)plot(t,x,'r')hold onplot(t,y,'b')xlabel('t');ylabel('x(t)y(t)');title('原周期信号')gridhold offsubplot(2,1,2);plot(lags/Fs,c,'k');xlabel('t');ylabel('Rxy(t)');title('互相关函数');grid◆例5例 6.2.5 若有信号为)()2sin(2)2sin()(21t t f t f t x式中,,501Hz f Hz f 1002 ,)(t 为白噪声(用MATLAB 中的函数产生)。
设采样频率2000 Fs ;试用周期法并应用MA TLAB 编程计算,当数据长度分别为2561 N 和 10242 N 两种情况下上述信号的功率谱。
%例6.2.5中周期图法计算信号功率谱的MATLAB 程序clfFs=2000;%情况1:数据长度N1=256N1=256;N1fft=256;n1=0:N1-1;t1=n1/Fs;f1=50;f2=100;xn1=sin(2*pi*f1*t1)+sin(2*pi*f2*t1)+randn(1,N1);Pxx1=10*log10(abs(fft(xn1,N1fft).^2)/N1);f1=(0:length(Pxx1)-1)*Fs/length(Pxx1);subplot(2,1,1)plot(f1,Pxx1)ylabel('功率谱(dB)');title('数据长度N1=256')grid%情况2:数据长度N2=1024N2=1024;N2fft=1024;n2=0:N2-1;t2=n2/Fs;f1=50;f2=100;xn2=sin(2*pi*f1*t2)+2*sin(2*pi*f2*t2)+randn(1,N2);Pxx2=10*log10(abs(fft(xn2,N2fft).^2)/N2);f2=(0:length(Pxx2)-1)*Fs/length(Pxx2);subplot(2,1,2)plot(f2,Pxx2)xlabel('频率(Hz)');ylabel('功率谱(dB)');title('数据长度N2=1024')◆例6(例3.8.1)分别用conv和FFT算法计算序列:x(n)为在区间[0,1]上均匀分布的N 点随机序列,表示为:x(n)=rand(1,N),h(n)为均值为零、方差为1的N点高斯分布随机序列,表示为:h(n)=rand(1,L),试求1≤N≤150时的卷积并比较其运算时间。
%例3.8.1 直接卷积和快速卷积的比较%conv_time=zeros(1,150);fft_time=zeros(1,150);%for N=1:150tc=0;tf=0; %初始化L=2*N-1; %加长序列长度nu=round((log10(L)/log10(2))+0.45);L=2^nu; %使点数成为2的幂次for I=1:100h=randn(1,N); %产生两个随机序列x=rand(1,N);t0=clock;yc=conv(h,x); %直接卷积计算t1=etime(clock,t0);tc=tc+t1; %直接卷积运算的时间t0=clock;y2=ifft(fft(h,L).*fft(x,L)); %快速卷积计算t2=etime(clock,t0);tf=tf+t2; %快速卷积计算的时间end%conv_time(N)=tc/100; %直接卷积计算的平均时间fft_time(N)=tf/100; %快速卷积计算的平均时间end%n=1:150;subplot(1,1,1); %图形显示上述两种卷积的计算时间plot(n(25:150),conv_time(25:150),n(25:150),fft_time(25:150))上述两种卷积的计算时间的比较如图3.8.5所示。
图3.8.5 两种卷积计算时间比较◆例7(例3.8.2 )运用FFT 求取矩形脉冲 1,01t 0 ,1)(t t 的谱,说明采样频率低引起的混叠现象。
(1) 先编写有一定通用性的函数文件cftbyfft.m[cftbyfft.m]function [AW,f]=cftbyfft(wt,t,flag)%cftbyfft.m%本程序采用FFT 计算连续时间Fouie 变换。
输出幅频数据对(f,AW)。
%输入量(wt,t)为已经窗口化了的时间函数wt(t),它们分别是长度为N 的向量。
%对于时限信号,应使该取值时段与窗口长度相比足够小。
以提高频率分辨率。
%对于非时限信号,窗口长度的选取应使窗口外的函数值小%到可忽略,以提高近似精度。
%输入宗量flag 控制输出CFT 的频率范围。
% flag 取非0时(缺省使用),频率范围在[0,fs);% flag 取0时,频率范围在[-fs/2,fs/2)。
if nargin==2;flag=1;endN=length(t); %采样点数,应为2的幂次,以求快速。
T=t(length(t))-t(1); %窗口长度dt=T/N; %时间分辨率W0=fft(wt); %实施FFT 变换W=dt*W0; %算得[0,fs]上的N 点CFT 值df=1/T; %频率分辨率n=0:1:(N-1)%把以上计算结果改写到[-fs/2,fs/2]范围if flag==0n=-N/2:(N/2-1);W=fftshift(W); %产生周期序列的频谱endf=n*df; %频率分量向量AW=abs(W); %幅频谱数据向量if nargout==0plot(f,AW);grid,xlabel('频率f');ylabel('|w(f)|')end(2)运行以下指令,绘制时域波形和幅频谱M=5; %做2的幂次用。