数字信号处理实验全部程序MATLAB

合集下载

数字信号处理matlab实验

数字信号处理matlab实验

目录实验一数字信号的产生和频谱分析实验 (2)一.实验目的 (2)二.实验要求 (2)三.实验原理 (2)四.实验步骤 (3)五.流程图 (3)七.实验结果分析 (6)实验二FIR数字滤波器设计 (7)一.试验目的 (7)二.实验要求 (7)三.实验原理和步骤 (7)四.实验流程图 (7)五.实验波形 (8)六.实验结果分析 (11)实验三IIR数字滤波器设计 (11)一.试验目的 (11)二.实验要求 (11)三.实验原理 (12)四.实验流程图 (12)五.实验波形 (13)六.实验结果分析 (14)实验四模拟调制解调 (14)一.试验目的 (14)二.实验要求 (14)三.实验原理 (15)四.实验流程图 (15)五.实验波形 (16)六.实验结果分析 (17)实验五数字调制解调 (17)一.试验目的 (17)二.实验要求 (17)三.实验原理 (18)四.实验流程图 (18)五.实验波形 (18)六.实验结果分析 (20)实验一数字信号的产生和频谱分析实验一.实验目的1.通过仿真掌握采样定理2.掌握利用FFT进行信号谱分析的原理二.实验要求1. 按照采样定理生成CW信号和LFM信号;2. 画出信号时域波形图和频谱图;3. 生成高斯分布的白噪声;4. 生成一定信噪比的带噪信号,并对其进行谱分析。

三.实验原理1.采样定理:在模拟信号数字化时,需要对模拟信号进行采样,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>=2fmax),采样之后的数字信号完整地保留了原始信号中的信息,否则会发生频谱混叠,造成最后解调出来的信号失真.一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理。

2.快速傅立叶变换(FFT)算法长度为N的序列的离散傅立叶变换为:N点的DFT可以分解为两个N/2点的DFT,每个N/2点的DFT又可以分解为两个N/4点的DFT。

Matlab数字信号处理实验报告

Matlab数字信号处理实验报告

Matlab数字信号处理实验报告本次实验使用MATLAB进行数字信号处理操作,目的是熟悉MATLAB中数字信号处理的相关工具箱,并进一步理解数字信号处理的基本概念和算法。

一、实验内容1.信号的生成与显示2.时域分析和频域分析3.滤波器设计4.数字滤波器性能分析二、实验步骤在MATLAB中,使用sawtooth函数生成一个锯齿波信号,并使用plot函数进行时域波形的显示。

代码如下:f = 1000;fs = 40000;t = 0:1/fs:0.01;y = sawtooth(2*pi*f*t);plot(t,y);xlabel('Time (s)');ylabel('Amplitude');title('Sawtooth Wave');时域分析包括波形的观察和参数分析,如幅值、均值、方差等。

频域分析则是对信号进行傅里叶变换,得到其频谱图,包括频率分布和强度分布。

%时域分析amp = max(y)-min(y);mean_y = mean(y);var_y = var(y);设计一个低通滤波器,将高于1kHz的频率成分滤掉。

对滤波后的信号进行时域分析和频域分析,比较滤波前后信号的特征参数和频谱特征,并绘制原始信号、滤波后信号及其频谱图。

subplot(2,2,1);plot(t,y);xlabel('Time (s)');ylabel('Amplitude');title('Sawtooth Wave');subplot(2,2,2);plot(t,y_filt);xlabel('Time (s)');ylabel('Amplitude');title('Sawtooth Wave After Filter');subplot(2,2,3:4);plot(f2,fft_y_filt,'r',f,fft_y,'g');xlabel('Frequency (Hz)');ylabel('Amplitude');title('Sawtooth Wave Spectrum Comparison');legend('After Filter','Before Filter');三、实验结果与分析通过生成并显示一段锯齿波信号,并对其进行时域和频域分析,可以得到该信号的关键信息,如幅值、均值、方差和频率分布特性。

数字信号处理实验报告 (基于MATLAB)

数字信号处理实验报告 (基于MATLAB)

课程名称:数字信号处理实验实验地点:综合楼C407专业班级:2014级生物医学工程姓名:leifeng学号:指导老师:第一次实验第一章 离散时间信号的时域分析Q1.1运行程序P1.1,以产生单位样本序列u[n]并显示它clf; n=-10:20;u=[zeros(1,10) 1 zeros(1,20)]; stem(n,u);xlabel('时间序号');ylabel('振幅'); title('单位样本序列'); axis([-10 20 0 1.2]);时间序号振幅单位样本序列Q1.2 命令clf ,axis ,title ,xlabel 和ylabel 的作用是什么clf :清除图形窗口内容; axis:规定横纵坐标的范围;title :使图像面板上方显示相应的题目名称; xlable :定义横坐标的名字; ylable :定义纵坐标的名字。

Q1.3修改程序P1.1以产生带有延时11个样本的延迟单位样本序列ud[n],运行修改的程序并且显示产生的序列。

clf; n=0:30;u=[zeros(1,11) 1 zeros(1,19)]; stem(n,u);xlabel('时间序号');ylabel('振幅'); title('单位样本序列'); axis([0 30 0 1.2]);时间序号振幅单位样本序列Q1.5 修改程序P1.1,以产生带有超前7个样本的延时单位阶跃序列sd[n]。

运行修改后的程序并显示产生的序列。

clf; n=-10:20;sd=[zeros(1,3) 1 ones(1,27) ]; stem(n,sd);xlabel('时间序号');ylabel('振幅'); title('单位样本序列'); axis([-10 20 0 1.2]);时间序号振幅单位样本序列Q1.6运行程序P1.2,以产生复数值的指数序列。

数字信号处理DFTMATLAB程序

数字信号处理DFTMATLAB程序

实验三 频域信号处理1. 实验目的(1) 学习信号DFT 变换的matlab 实现; (2) 学习fft 的matlab 实现; (3) 验证DFT 的相关性质。

2. 思考题(1) 若()()()sin sin 4x n n n ππ=+是一个128点的有限长序列,求其128点DFT 结果; 程序如下:求DFT 变换矩阵A : clc; clear; N=128;A=dftmtx(N)Ai=conj(dftmtx(N)); n=0:(N-1); k=0:(N-1); nk=n'*k;Wn=(sin(pi/8)+sin(pi/4)).^nk Wk=conj(Wn)/N;求128点的DFT (分别用FFT 函数和dftmtx 函数)clc; clear; N=128; n=0:N-1;x=sin(pi/8*n)+sin(pi/4*n); subplot(3,1,1) plot(n,x); grid on title('原图') y1=fft(x,N); A=dftmtx(N); y2=x(1:N)*A; subplot(3,1,2) plot(n,y1) grid on title('FFT')subplot(3,1,3) plot(n,y2) grid ontitle('dftmtx')程序运行结果如图1所示:图 1(2) 对模拟信号()()()2sin 45sin 8x t t t ππ=+,以0.01t n =,()0:1n N =-进行采样,求a ) N=40点的FFT 幅度谱,从图中能否观察出两个频谱分量;b ) 提高采样点数值N=128,再求该信号的幅度频谱,此时幅度频谱发生了什么变化?信号的两个模拟频率和数字频率分别为多少?FFT 频谱分析结果和理论上是否一致? 程序如下:clc; clear; N=40; n=0:N-1; t=0.01*nx=2*sin(4*pi*t)+5*sin(8*pi*t); subplot(2,1,1)plot(x(1:N)) grid on title('原图') y1=fft(x,N); subplot(2,1,2) plot(n,y1(1:N))原图-13FFT-13dftmtxgrid ontitle('40点采样')结果如图2:原图40点采样图2 clc;clear;N=128;n=0:N-1;t=0.01*nx=2*sin(4*pi*t)+5*sin(8*pi*t);subplot(2,1,1)plot(x(1:N))title('原图')y1=fft(x,N);subplot(2,1,2)plot(n,y1(1:N))title('128点采样')结果如图3:图 3从图2,3中可以看出:N=40和128点的FFT 幅度谱中均出现了两个频谱分量.对于128点采样,11128,128f T f ===,模拟频率分别为124,8ππΩ=Ω=,那么,数字频率分别为1122114,81283212816T T ππωπωπ=Ω=⨯==Ω=⨯=。

数字信号处理第三版用MATLAB上机实验

数字信号处理第三版用MATLAB上机实验

实验二:时域采样与频域采样一、时域采样1.用MATLAB编程如下:%1时域采样序列分析fs=1000A=444.128; a=222.144; w=222.144; ts=64*10^(-3); fs=1000;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs); Xk=fft(xn);subplot(3,2,1);stem(n,xn);xlabel('n,fs=1000Hz');ylabel('xn');title('xn');subplot(3,2,2);plot(n,abs(Xk));xlabel('k,fs=1000Hz'); title('|X(k)|');%1时域采样序列分析fs=200A=444.128; a=222.144; w=222.144; ts=64*10^(-3); fs=200;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs);Xk=fft(xn);subplot(3,2,3);stem(n,xn);xlabel('n,fs=200Hz'); ylabel('xn');title('xn');subplot(3,2,4);plot(n,abs(Xk));xlabel('k,fs=200Hz'); title('|X(k)|');%1时域采样序列分析fs=500A=444.128; a=222.144; w=222.144; ts=64*10^(-3); fs=500;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs); Xk=fft(xn);subplot(3,2,5);stem(n,xn);xlabel('n,fs=500Hz');ylabel('xn');title('xn');subplot(3,2,6);plot(n,abs(Xk));xlabel('k,fs=500Hz'); title('|X(k)|');2.经调试结果如下图:20406080-200200n,fs=1000Hzxnxn2040608005001000k,fs=1000Hz|X (k)|51015-2000200n,fs=200Hzx nxn510150100200k,fs=200Hz |X(k)|10203040-2000200n,fs=500Hzx nxn102030400500k,fs=500Hz|X (k)|实验结果说明:对时域信号采样频率必须大于等于模拟信号频率的两倍以上,才 能使采样信号的频谱不产生混叠.fs=200Hz 时,采样信号的频谱产生了混叠,fs=500Hz 和fs=1000Hz 时,大于模拟信号频率的两倍以上,采样信号的频谱不产生混叠。

数字信号处理,matlab实验报告

数字信号处理,matlab实验报告

Matlab实验报告实验一:1.实验Matlab代码:N=25;Q=0.9+0.3*j;WN=exp(-2*j*pi/N);x=zeros(25,1);format long; %长整型科学计数for k0=1:25x(k0,1)=Q^(k0-1);end;for k1=1:25;X1(k1,1)=(1-Q^N)/(1-Q*WN^(k1-1));end;X1;X2=fft(x,32);subplot(3,1,1);stem(abs(X1),'b.');axis([0,35,0,15]);title('N=25,formular');xlabel('n'); subplot(3,1,2);stem(abs(X2),'g.');axis([0,35,0,15]);title('N=32, FFT');xlabel('n');for(a=1:25)X3(a)=X1(a)-X2(a)end;subplot(3,1,3);stem(abs(X3),'r.');title('difference');xlabel('n');实验结果如图:实验结论:可以看出基2时间抽选的FFT算法与利用公式法所得到的DFT结果稍有偏差,但不大,在工程上可以使用计算机利用FFT处理数据。

2.实验Matlab代码:N = 1000; % Length of DFTn = [0:1:N-1];xn = 0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4);Xk = fft(xn,N);k=[0:1:N-1];subplot(5,1,1);stem(k,abs(Xk(1:1:N)));title('DFT x(n)');xlabel('k');axis([140,240,0,6])subplot(5,1,2);stem(k, abs(Xk(1:1:N)),'r');%画出sin(0.3npi)-cos(0.302npi-pi/4) axis([140,160,0,6]);title('sin(0.3*pi*n)-cos(0.302*pi*n) ');xlabel('k');subplot(5,1,3);stem(k, 1000*abs(Xk(1:1:N)),'g');%画出0.001*cos(0.45npi)axis([220,230,0,6]);title('cos(0.45*pi*n) ');xlabel('k');subplot(5,1,4);stem(k,0.01*abs(Xk(1:1:N)),'k');%画%sin(0.3npi)-cos(0.302npi-pi/4)axis([140,160,0,6]);title('sin(0.3*pi*n)-cos(0.302*pi*n) ');xlabel('k');subplot(5,1,5);stem(k, 10*abs(Xk(1:1:N)),'m');%画出0.001*cos(0.45npi)axis([220,230,0,6]);title('cos(0.45*pi*n) ');xlabel('k');实验结果如图:实验结论:由上图及过程可知,当DFT变换长度为1000时所得到的谱线非常理想。

《数字信号处理》MATLAB编程实验报告

《数字信号处理》MATLAB编程实验报告

《计算机程序设计基础》实验报告
6
《数字信号处理》实验报告
实验项目 实验类别 基础性 MATLAB 编程语言环境使用 实验学时 4
实 验 目 的 及 要 求
(1) 正确进入 MATLAB 工作环境并熟悉其基本结构 (2) 熟悉其基本操作命令,包括变量的设置、help 命令的使用、结果的 保存与调用等 (3) 编写 M 文件并在环境中运行 (4) 信号与系统工具包使用
正弦信号程序代码
n=0:0.001:100; y=2*sin(0.1*n+pi/8); plot(n,y), grid on
《计算机程序设计基础》实验报告 3
计算机科学与工程学院 axis([0,100,-3,3])
正弦信号 x1(n)=2 sin(0.1n+pi/8)的图像为
复指数信号程序源代码 clear,t0=0;tf=5;dt=0.05;t1=1; t=t0:dt:tf; st=length(t); alpha=-0.5; w=10; x=exp((alpha+j*w)*t); subplot(1,2,1),plot(t,real(x)),grid on; subplot(1,2,2),plot(t,imag(x)),grid on;
复指数信号
x2 (n) Ae(机程序设计基础》实验报告
4
计算机科学与工程学院
思考题
1.说明点乘(.*)运算和乘法运算(*) 有何不同 答:每一个符号变量都被认为是一个元素,不论它的表达式多么复杂。因此如果你仅从符号
的视角出发,那所有的乘法都是点乘!就相当于两个数相乘一样,没有点乘还是差乘的分别。 但是如果一个矩阵是由符号变量组成的。 那么点乘和差乘就有分别了。 数值运算和符号运算都 是一样的,都要考虑点乘还是差乘

数字信号处理上机实验MATLAB程序及结果

数字信号处理上机实验MATLAB程序及结果
(211);
(2**f2*,'k')显示波形
('时间');
('幅值');
('原始信号');
(y)进行快速傅里叶变换
1;
1(f2/()+1)=02频率对应的幅值为零
1((2)/()+1)=02/2频率对应f2的对称频率值对应幅值为零
(1)逆变换
(212);
(2**f2*);
('时间');
('幅值');
实验三设计一个巴尔低通滤波器
%设计一个巴尔沃特低通滤波器,12140;
1000;
2000;
2**;
2**;
1;
40;
[](,'s');
('阶数为\n');
[](,'s');
%[](n);
('分子多项式系数分别为');
('%.4e\n');
('分母多项式系数分别为');
('%.4e\n');
[ ];
h1();
(0,2*,1024);
();
20*10((h));
();
(' ');
('');
([0 1 -50 0]);
;
输出结果
分子多项式的系数
1.577701
3.155501
1.577701
分母多项式的系数
1.000000
-6.062001
2.373001
0.3945
15.0000
图形为
实验8切比雪夫1型设计低通和高通滤波器

《数字信号处理》Matlab实验

《数字信号处理》Matlab实验

《数字信号处理》Matlab 实验一.离散信号的 FFT 分析1.用Matlab 编程上机练习。

已知:N=2^5。

这里Q=0.9+j0.3。

可以推导出 ,首先根据这个式子计算X(k)的理论值,然后计算输入序列x(n)的32个值,再利用基2时间抽选的FFT 算法,计算x(n)的DFT X(k),与X(k)的理论值比较(要求计算结果最少6位有效数字)。

解:函数代码:>> function xn()>> format long>> q=0.9+0.3*i;>> wn=exp(-2*pi*i/32);>> xk=(1-q^32)./(1-q*wn.^[0:31])>>xn=q.^[0:31]>> xk1=fft(xn,32)>>diff=xk-xk1具体执行情况:>> function xn()format longq=0.9+0.3*i;wn=exp(-2*pi*i/32);xk=(1-q^32)./(1-q*wn.^[0:31])xk =Columns 1 through 20.5698 + 3.3840i 2.8369 + 8.8597iColumns 3 through 49.3189 - 9.8673i 1.2052 - 3.5439iColumns 5 through 61.8846 -2.0941i 0.8299 - 1.2413i11,011)()()(k k 10nk 10-=--===∑∑-=-=N k QW Q QW W n x k X N NnN N n N N n ,0.9214 - 1.0753i 0.3150 - 0.0644i Columns 9 through 100.9240 - 0.8060i 0.4202 - 0.2158i Columns 11 through 120.8513 - 0.6357i 0.5040 - 0.1701i Columns 13 through 140.6217 - 0.6931i 0.2441 - 0.8978i Columns 15 through 160.9454 - 0.2800i 0.7139 - 0.3158i Columns 17 through 180.6723 - 0.6496i 0.0263 + 0.5093i Columns 19 through 200.5671 + 0.6914i 0.3173 + 0.9841i Columns 21 through 220.8929 + 0.7792i 0.4066 + 0.8452i Columns 23 through 240.5847 + 0.9017i 0.9129 + 0.9283i Columns 25 through 260.0573 + 0.5531i 0.4219 + 0.9562i Columns 27 through 280.3298 + 0.3143i 0.4513 + 0.2638i0.7214 + 0.1879i 0.0933 + 1.7793iColumns 31 through 320.9483 + 1.9802i 0.4932 + 2.6347i>> xn=q.^[0:31]xn =Columns 1 through 21.0000 0.0000 + 0.0000i Columns 3 through 40.0000 + 0.0000i 0.0000 + 0.0000iColumns 5 through 60.0000 + 0.0000i -0.0000 + 0.0000iColumns 7 through 8-0.0000 + 0.0000i -0.0000 + 0.0000iColumns 9 through 10-0.0000 + 0.0000i -0.0000 + 0.0000iColumns 11 through 12-0.0000 - 0.0000i -0.0000 - 0.0000iColumns 13 through 14-0.2000 - 0.4000i -0.3600 - 0.5200iColumns 15 through 16-0.9680 - 0.1760i 0.4816 - 0.3488i0.2381 - 0.2695i 0.2951 - 0.1711i Columns 19 through 200.1169 - 0.4655i 0.4449 - 0.9838i Columns 21 through 220.6955 + 0.2480i 0.5516 + 0.4319i Columns 23 through 240.3669 + 0.5542i 0.9639 + 0.2088i Columns 25 through 260.3049 + 0.9771i -0.5187 + 0.4709i Columns 27 through 28-0.6081 + 0.2682i -0.1278 + 0.5589i Columns 29 through 30-0.4827 + 0.0647i -0.6538 + 0.5134i Columns 31 through 32-0.8425 - 0.4341i -0.1280 - 0.1434i >> xk1=fft(xn,32)xk1 =Columns 1 through 20.5698 + 3.3839i 2.8366 + 8.8599i Columns 3 through 49.3182 - 9.8692i 1.2051 - 3.5439i1.8845 -2.0942i 0.8298 - 1.2413i Columns 7 through 80.9213 - 1.0754i 0.3150 - 0.0645i Columns 9 through 100.9240 - 0.8060i 0.4202 - 0.2158i Columns 11 through 120.8514 - 0.6356i 0.5040 - 0.1701i Columns 13 through 140.6217 - 0.6931i 0.2441 - 0.8977i Columns 15 through 160.9454 - 0.2800i 0.7139 - 0.3159i Columns 17 through 180.6723 - 0.6496i 0.0263 + 0.5093i Columns 19 through 200.5671 + 0.6913i 0.3172 + 0.9840i Columns 21 through 220.8929 + 0.7792i 0.4065 + 0.8452i Columns 23 through 240.5846 + 0.9016i 0.9129 + 0.9283i Columns 25 through 260.0572 + 0.5531i 0.4219 + 0.9563i0.3297 + 0.3144i 0.4512 + 0.2638iColumns 29 through 300.7213 + 0.1879i 0.0932 + 1.7793iColumns 31 through 320.9480 + 1.9802i 0.4928 + 2.6347i>> diff=xk-xk1diff =1.0e-013 *Columns 1 through 20.4625 + 0.8501i 0.9504 - 0.4003iColumns 3 through 40.6010 + 0.4028i 0.4752 + 0.7001iColumns 5 through 60.5502 + 0.8501i 0.4625 + 0.8501iColumns 7 through 80.7751 + 0.9250i 0 + 0.3875i Columns 9 through 100.7751 - 0.4625i 0.3126 - 0.4625iColumns 11 through 12-0.4625 - 0.3126i 0.4625 + 0.3875iColumns 13 through 14-0.9250 + 0.6938i 0.3875 - 0.0781iColumns 15 through 160.3875 - 0.6156i 0 + 0.9641iColumns 17 through 180.9250 - 0.7598i -0.4625 - 0.0422iColumns 19 through 200.4625 + 0.1172i 0.4625 + 0.3094iColumns 21 through 220.9250 + 0.4625i 0.9250 + 0.2313iColumns 23 through 240.3875 + 0.1563i 0.3875 - 0.2313iColumns 25 through 260.8501 -0.9250 - 0.4625iColumns 27 through 280.0127 - 0.7751i 0.7001 - 0.9250iColumns 29 through 300.1626 0.7814 - 0.9250iColumns 31 through 320.4816 + 0.9250i 0.7255 - 0.8501i由以上结果可知,由基2时间抽选的FFT算法所得到的DFT结果与利用公式法所得的理论值稍有偏差,但误差较小,从结果可以看出大概在小数点第15位才开始出现误差,故而用计算机FFT处理数据在精度上是可以接受的。

数字信号处理_MATLAB程序文件

数字信号处理_MATLAB程序文件

例题3.1.1Fm=10;Fc=100;Fs=500;k=0:199;t=k/Fs;x=si n(2*pi*Fm*t);y=x.*cos(2*pi*Fc*t);Y=fft(y,256);subplot(2,1,1);plot(y);subplot(2,1,2);plot([-128:127],fftshift(abs(Y)));实验所得的图像如下图所示:实验内容1.实现抑制载波的幅度调制。

已调信号y(t)二x(t)cosC c t),式中x(t)为调制信号;cos(衣)为载波信号。

此处可取x(t) =cos( m二t), c =80二rad /s,^^10_:rad / s。

(1)分析调制信号x(t)的频谱,绘出其时域波形和频谱。

Matlab程序如下:Fs=1000;Fc=40;N=1000;wc=80*pi;n=0:N-2;t=n/Fs;x=cos(10*pi*pi*t);y=x.*cos(wc*t);z仁fft(x,256);subplot(2,1,1);plot(t,x);legend('x(t) 的时域波形');subplot(2,1,2);plot([-128:127],fftshift(abs(z1)));lege nd('x(t) ');的频谱实验所得图形如下:Matlab 程序如下:Fs=1000;Fc=40;N=1000;n=0:N-2;t=n/Fs;x=cos(10*pi*pi*t);y=modulate(x,Fc,Fs,'am');z=fft(y,256);subplot(2,1,1);plot(t,y);legend('y(t) 的时域波形');subplot(2,1,2);plot([-128:127],fftshift(abs(z)));lege nd('y(t)形')(2)分析已调信号y(t)的频谱,绘出其时域波形和频谱。

数字信号处理上机实验MATLAB程序及结果

数字信号处理上机实验MATLAB程序及结果
5886.2145
66671782.4829
241699153902.8650
9639.0000
12840400.0000
1.0000
45.3060
图形
%用切比雪夫1型设计高通滤波器
2**50002**1000140;
1;
1;
[]1(,'s');
[]1(,'s');
[]2(,1);
[1 1];
();
;
100;
0:(1);
100采样频率
f1=1;
f2=10;
(2**f1*n)(2**f2*n)原始信号
(211);
(2**f2*,'k')显示波形
('时间');
('幅值');
('原始信号');
(y)进行快速傅里叶变换
1;
1(f2/()+1)=02频率对应的幅值为零
1((2)/()+1)=02/2频率对应f2的对称频率值对应幅值为零
298379090.0000
1.0000
44.1570
图形
%用切比雪夫1型设计高通滤波器
2**5000;
2**1000;
1;
40;
1;
1;
[]2(,'s');
[]2(,'s');
[]2(,1);
[1 1];
();
('.4e\n'20*10((h(1))));
('.4e\n'20*10((h(2))));
命令窗口输出结果:
5.086632003.109529005.35564001

数字信号处理实验全部程序MATLAB

数字信号处理实验全部程序MATLAB

实验一熟悉MATLAB环境一、实验目的(1)熟悉MATLAB的主要操作命令。

(2)学会简单的矩阵输入和数据读写。

(3)掌握简单的绘图命令。

(4)用MATLAB编程并学会创建函数。

(5)观察离散系统的频率响应。

二、实验内容认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。

在熟悉了MATLAB基本命令的基础上,完成以下实验。

上机实验内容:(1)数组的加、减、乘、除和乘方运算。

输入A=[1 2 3 4],B=[3 4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。

实验程序:A=[1 2 3 4];B=[3 4 5 6];n=1:4;C=A+B;D=A-B;E=A.*B;F=A./B;G=A.^B;subplot(4,2,1);stem(n,A,'fill');xlabel ('时间序列n');ylabel('A');subplot(4,2,2);stem(n,B,'fill');xlabel ('时间序列n ');ylabel('B'); subplot(4,2,3);stem(n,C,'fill');xlabel ('时间序列n ');ylabel('A+B'); subplot(4,2,4);stem(n,D,'fill');xlabel ('时间序列n ');ylabel('A-B'); subplot(4,2,5);stem(n,E,'fill');xlabel ('时间序列n ');ylabel('A.*B'); subplot(4,2,6);stem(n,F,'fill');xlabel ('时间序列n ');ylabel('A./B'); subplot(4,2,7);stem(n,G,'fill');xlabel ('时间序列n ');ylabel('A.^B');运行结果:(2)用MATLAB实现以下序列。

《数字信号处理》实验及代码

《数字信号处理》实验及代码

实验一 用Matlab 进行数字信号处理一、实验目的1.掌握 MATLAB 基本的操作;2.学习典型的离散信号的Matlab 实现方法。

3.学习离散时间序列的基本运算:相加、相乘、移位等; 二、实验内容1. 练习把y=sin(x), z=cos(x),u=2sin(x),v=sin(x)/cos(x)在[0,2pi]区间内的4个子图分别用不同的颜色、点型和线型绘制在同一个窗口中,并加上纵坐标、标题、图例和网格线。

2. 利用MATLAB 编程产生和绘制下列有限长序列: (1)单位脉冲序列()n δ (2)单位阶跃序列()u n (3)矩形序列8()R n(4)正弦序列()sin()53x n n ππ=+(5)实指数序列0.9()n u n3.上机调试并打印或记录实验结果。

4.完成实验报告。

三、实验结果1. 实验程序如下:x=0:pi/10:2*pi;y=sin(x); plot(x,y,'r*:');grid on %绘制网格线 hold on z=cos(x); plot(x,z,'y+-'); hold on u=2*sin(x); plot(x,u,'bx-'); hold on v=sin(x)/cos(x); plot(x,v,'ko-');hold onxlabel('x 轴'); %x轴注释ylabel('y 轴'); %y轴注释legend({'y=sin(x)','z=cos(x)', 'u=2sin(x) ', 'v=sin(x)/cos(x) '}); %图形注解2. 程序如下:n=-20:20;n0=0;n1=8;w0=pi/5; w1=pi/3;x1=[(n-n0)==0];x2=[(n-n0)>=0];x3=[(n-n0)>=0& (n-n1)<=0];x4=sin(w0*n+w1);x5=0.9.^n.*x2;subplot(511);stem(n,x1);axis([ -20 20 0 2]);ylabel('\sigma(n)'); subplot(512);stem(n,x2);axis([ -20 20 0 2]);ylabel('u(n)');subplot(513);stem(n,x3);axis([ -20 20 0 2]);ylabel('R8(n)'); subplot(514);stem(n,x4);axis([ -20 20 -2 2]);ylabel(' sin(w0n+w1) '); subplot(515);stem(n,x5);axis([ -20 20 0 2]);ylabel('0.9nu(n)'); xlabel('n');实验二离散信号与系统一、实验目的1.掌握卷积定理、熟悉离散信号和系统的时域特性;2.学习Matlab进行卷积计算方法;3.学习Matlab求解差分方程二、实验内容1.离散信号的基本运算:对序列x(n)={2,3,4,1,2,5} ,n=0,1,2,3,4,5,的移位、乘法、加法、翻转及尺度变换。

数字信号处理(MATLAB版)上机实验操作

数字信号处理(MATLAB版)上机实验操作

实验一离散时间信号与系统一、实验目的:1、熟悉常见离散时间信号的产生方法;2、熟悉离散时间系统的单位脉冲响应和单位阶跃响应的求解方法;3、熟悉离散时间信号经过离散时间系统的响应的求解方法。

二、实验内容:已知离散时间系统差分方程为y(n)-0.5y(n-1)+0.06y(n-2)=x(n)+x(n-1),求1、该系统的单位脉冲响应并绘图;2、该系统的单位阶跃响应并绘图;3、已知x(n)=可自己指定用filter函数经过系统的响应并绘图;4、用conv_m函数求系统响应并绘图。

三、实验平台:MA TLAB集成系统四、设计流程:此处写个人自己的设计流程五、程序清单:此处写程序内容六、调试和测试结果:此处写程序的执行结果和实验过程中的调试经过、出现的错误和对应的解决方法七、教师评语与成绩评定此处由老师填写上机操作:实验一离散时间信号与系统实验内容:1.脉冲响应>> b =[1,1]; a = [1,-0.5,0.06];n = [-10:25];>> impz(b,a,n);>> title('Impulse Response'); xlabel('n'); ylabel('h(n)')2.单位阶跃响应>> x = stepseq(0,-10,25); s = filter(b,a,x);Warning: Function call stepseq invokes inexact match d:\MATLAB7\work\STEPSEQ.M.>> stem(n,s)>> title('Step Response'); xlabel('n');ylabel('s(n)')3.>> a=[1,-0.5,0.06];b=[1,1];>> n=-20:120;>> x1=exp(-0.05*n).*sin(0.1*pi*n+pi/3);>> s1=filter(b,a,x1);>> stem(n,s1);;xlabel('n');ylabel('s1(n)');4.>> a=[1,-0.5,0.06];b=[1,1];>> n=-20:120;>> h=impz(b,a,n);>> x1=exp(-0.05*n).*sin(0.1*pi*n+pi/3);>> [y,m]=conv_m(x1,n,h,n);Warning: Function call conv_m invokes inexact match d:\MATLAB7\work\CONV_M.M. >> stem(m,y);title('系统响应');xlabel('m');ylabel('y(m)');实验二离散信号与系统的连续频域分析一、实验目的:1、掌握离散时间信号的DTFT的MATLAB实现;2、掌握离散时间系统的DTFT分析;3、掌握系统函数和频率相应之间的关系。

数字信号处理实验报告MATLAB

数字信号处理实验报告MATLAB

实验2 离散时间信号的频谱分析1、实验内容一、编写子函数计算长度为N 的序列x(n) ( 0≤n ≤ N-1)的离散时间傅里叶变换,将频率均匀离散化, 一个周期内有M 个点。

要求画出虚部、实部、幅度、相位,并标注坐标轴。

二、对矩形序列x(n)=RN(n)1. 用公式表示x(n)的频谱,求出其幅度谱和相位谱;2. 利用编写的子函数,计算并画出x(n)的频谱1)固定M ,改变N ,观察N 的取值对频谱的最大值、过零点、第一旁瓣幅度与最大值的比值以及相位谱的影响;2)固定N ,改变M ,观察M 的取值对幅度谱和相位谱的影响。

如: M=4,26,100N=4,26,100三、利用子函数,画出信号x(n)=sin(pi*n/5)和 x(n)=cos(pi*n/4)+cos(pi*n/8) ( 0≤n ≤ N -1)的幅度谱和相位谱。

N 分别取为8,16,20,64,75,128,M=256。

观察N 取不同值时信号频谱的相同和不同之处,为什么会有这样的结果。

2、编程原理、思路和公式(1)、给定长度为N 的序列x(n)的离散时间傅里叶变换(DTFT )的公式为 10()()N jwjwn n X e x n e --==∙∑ 1()()2j w j w n x n X e e d w πππ-=⎰。

可以看出x(n)的DTFT 仍然是一个连续函数,所以需要将数字角频域w 离散化,设一个频率周期内离散点有M 个,则第k 个点所代表的数字角频率2w k M π=。

这样x(n)的DTFT 变成:2210()()()N j k j nk jw M M n X e X e x n eππ--===∙∑ 01k M ≤≤-,(2)、因为0≤.n ≤.N-1, 01k M ≤≤- 设置两层for 循环,用sum 表示累加求和的值,即可实现2210()()()N j k j nk jw MM n X e X e x n eππ--===∙∑(3)对矩形序列x(n)=R4(n),首先固定M 不变,改变N 的取值。

数字信号处理MATLAB实验代码&图

数字信号处理MATLAB实验代码&图

二.1clear all;close all;b=[2,3];a=[1,0.4,1];[h,w]=freqz(b,a,512);subplot(211);plot(w,abs(h));xlabel('频率/rad');ylabel('幅度');title('幅频特性图');subplot(212);plot(w,angle(h));xlabel('频率/rad');ylabel('相位');title('相频特性图');2clear all;close all;b=[1,2,0];a=[1,-0.3,0.54,-0.072]; [h,w]=freqz(b,a);subplot(211);plot(w/pi,abs(h));axis([0,1,1.1*min(abs(h)) ,1.1*max(abs(h))]);xlabel('频率');ylabel('幅度');title('幅频特性(V)')subplot(212),plot(w/pi,angle(h));axis([0,1,1.1*min(angle(h) ),1.1*max(angle(h))]); xlabel('频率');ylabel('相位');title('相频特性')频率/rad幅度幅频特性图频率/rad 相位相频特性图频率幅度幅频特性(V)频率相位相频特性3.clear all; close all;b=[0.187632,0,-0.241242,0,0.241242,0,-0.187632];a=[1,0,0.602012,0,0.495684,0,0.0359244];[h,w]=freqz(b,a);subplot(221),plot(w/pi,abs(h) );axis([0,1,1.1*min(abs(h)),1.1*max(abs(h))]);xlabel('频率');ylabel('幅度');title('幅频响应')subplot(222),plot(w/pi,angle( h));axis([0,1,1.1*min(angle(h)),1.1*max(angle(h))]);xlabel('频率');ylabel('相位');title('相频特性')三.1clear all;close all;z1=[0.3]';p1=[-0.5+0.7j,-0.5-0.7j]';k=1;[b1,a1]=zp2tf(z1,p1,k);subplot(3,2,1),zplane(z1,p1);title('极点在单位圆内 ');subplot(3,2,2),impz(b1,a1,20);z2=[0.3]';p2=[-0.6+0.8j,-0.6-0.8j]';[b2,a2]=zp2tf(z2,p2,k);subplot(3,2,3),zplane(z2,p2);title('极点在单位圆上');subplot(3,2,4),impz(b2,a2,20);z3=[0.3]';p3=[-1+j,-1-j]';[b3,a3]=zp2tf(z3,p3,k);subplot(3,2,5),zplane(z3,p3); title('极点在单位圆外');subplot(3,2,6),impz(b3,a3,20);频率幅度幅频响应-202Real PartImaginaryPart极点在单位圆内051015n (samples)AmplitudeImpulse Response Real PartImaginaryPart极点在单位圆上n (samples)AmplitudeImpulse Response-202Real PartImaginaryPart极点在单位圆外051015n (samples)AmplitudeImpulse Responseclear all;close all;z1=[1,-3]';p1=[2,-4]';k=5;[b1,a1]=zp2tf(z1,p1,k); subplot(211),zplane(z1,p1 );title('零极点分布');subplot(212),impz(b1,a1,2 0);四.1clear all;`close all;xn=[7,6,5,4,3,2];N=length(xn);n=0:N-1;k=0:N-1;Xk=xn*exp(-j*2*pi/N).^(n'*k );x=(Xk*exp(j*2*pi/N).^(n'*k) )/N;subplot(221),stem(n,xn); title('x(n)');subplot(222),stem(n,abs(x)) ;title('IDFT abs(X(k))'); subplot(223),stem(k,abs(Xk) );title('abs(X(k))');subplot(224),stem(k,angle( Xk));title('arg(X(k))');2.clear all;close all;xn=[7,6,5,4,3,2];N=length(xn);m=0:N-1;n=0:3*N-1;k=0:3*N-1;x1=xn(mod(n,N)+1);Xk=x1*exp(-j*2*pi/N).^(n'* k);subplot(221),stem(m,xn);Real PartImaginaryPart零极点分布11n (samples)AmplitudeImpulse Responsex(n)IDFT abs(X(k))abs(X(k))arg(X(k))x(n)IDFT abs(X(k))abs(X(k))angle(X(k))title('x(n)');subplot(222),stem(n,x1);title('IDFT abs(X(k))');subplot(223),stem(k,abs(Xk));title('abs(X(k))');subplot(224),stem(k,angle(Xk));title('angle(X(k))');3.clear all;close all;xn=[7,6,5,4,3,2];N=length(xn);n=0:N-1;w=linspace(-2*pi,2*pi,500);x=xn*exp(-j*n'*w);subplot(311),stem(n,xn,'k');title('x(n)');subplot(312),plot(w,abs(x),'k');axis([-2*pi,2*pi,1.1*min(abs(x)),1.1*max(abs(x))]);title('幅度谱');subplot(313),plot(w,angle(x),'k');axis([-2*pi,2*pi,1.1*min(angle(x)),1.1*max(angle(x))]); title('相位谱');x(n)幅度谱相位谱。

数字信号处理-MATLAB程序

数字信号处理-MATLAB程序

例题3.1.1Fm=10;Fc=100;Fs=500;k=0:199;t=k/Fs;x=sin(2*pi*Fm*t);y=x.*cos(2*pi*Fc*t);Y=fft(y,256);subplot(2,1,1);plot(y);subplot(2,1,2);plot([-128:127],fftshift(abs(Y)));实验所得的图像如下图所示:实验内容1.实现抑制载波的幅度调制。

已调信号()()cos()c y t x t t ω=,式中()x t 为调制信号;cos()c t ω为载波信号。

此处可取()cos(),80m c x t t ωπωπ== /rad s ,10m ωπ= /rad s 。

(1)分析调制信号()x t 的频谱,绘出其时域波形和频谱。

Matlab 程序如下:Fs=1000;Fc=40;N=1000;wc=80*pi;n=0:N-2;t=n/Fs;x=cos(10*pi*pi*t);y=x.*cos(wc*t);z1=fft(x,256);subplot(2,1,1);plot(t,x);legend('x(t)的时域波形');subplot(2,1,2);plot([-128:127],fftshift(abs(z1)));legend('x(t)的频谱'); 实验所得图形如下:(2)分析已调信号()y t的频谱,绘出其时域波形和频谱。

Matlab程序如下:Fs=1000;Fc=40;N=1000;n=0:N-2;t=n/Fs;x=cos(10*pi*pi*t);y=modulate(x,Fc,Fs,'am');z=fft(y,256);subplot(2,1,1);plot(t,y);legend('y(t)的时域波形');subplot(2,1,2);plot([-128:127],fftshift(abs(z)));legend('y(t)的频域波形')(3)设计低通滤波器并应用filter函数,实现信号同步解调设计的低通滤波器为cheby1型低通滤波器,技术参数为:wp=0.2*pi,ws=0.6*pi,Ap=1Db,As=25dB调制:[N,wc]=cheb1ord(0.2*pi,0.6*pi,1,25,’s’);[num,den]=cheby1(N,1,wc,’s’);[b,a]=bilinear(num,den,0.5);x=cos(10*pi*pi*t);y=x.*cos(80*pi*t);w1=filter(b,a,y);plot(w1);Y=fft(w1);plot(w1);axis([0 500 -1 1]);调制后的波形如下图:解调:[N,wc]=cheb1ord(0.2*pi,0.6*pi,1,25,'s'); [num,den]=cheby1(N,1,wc,'s');[b,a]=bilinear(num,den,0.5);x=cos(10*pi*pi*t);y=x.*cos(80*pi*t);w1=filter(b,a,y);plot(w1);Y=fft(w1);Q=demod(Y,Fc,Fs,'am');plot(t,Q);axis([0.3 0.5 -0.1 0.1]);解调后的波形如下图:2.实现含有载波的幅度调制。

数字信号处理DFTMATLAB程序

数字信号处理DFTMATLAB程序

实验三 频域信号处理1. 实验目的(1) 学习信号DFT 变换的matlab 实现; (2) 学习fft 的matlab 实现; (3) 验证DFT 的相关性质。

2. 思考题(1) 若()()()sin sin 4x n n n ππ=+是一个128点的有限长序列,求其128点DFT 结果; 程序如下:求DFT 变换矩阵A : clc; clear; N=128;A=dftmtx(N)Ai=conj(dftmtx(N)); n=0:(N-1); k=0:(N-1); nk=n'*k;Wn=(sin(pi/8)+sin(pi/4)).^nk Wk=conj(Wn)/N;求128点的DFT (分别用FFT 函数和dftmtx 函数)clc; clear; N=128; n=0:N-1;x=sin(pi/8*n)+sin(pi/4*n); subplot(3,1,1) plot(n,x); grid on title('原图') y1=fft(x,N); A=dftmtx(N); y2=x(1:N)*A; subplot(3,1,2) plot(n,y1) grid on title('FFT')subplot(3,1,3) plot(n,y2) grid ontitle('dftmtx')程序运行结果如图1所示:图 1(2) 对模拟信号()()()2sin 45sin 8x t t t ππ=+,以0.01t n =,()0:1n N =-进行采样,求a ) N=40点的FFT 幅度谱,从图中能否观察出两个频谱分量;b ) 提高采样点数值N=128,再求该信号的幅度频谱,此时幅度频谱发生了什么变化?信号的两个模拟频率和数字频率分别为多少?FFT 频谱分析结果和理论上是否一致? 程序如下:clc; clear; N=40; n=0:N-1; t=0.01*nx=2*sin(4*pi*t)+5*sin(8*pi*t); subplot(2,1,1)plot(x(1:N)) grid on title('原图') y1=fft(x,N); subplot(2,1,2) plot(n,y1(1:N))原图-13FFT-13dftmtxgrid ontitle('40点采样')结果如图2:原图40点采样图2 clc;clear;N=128;n=0:N-1;t=0.01*nx=2*sin(4*pi*t)+5*sin(8*pi*t);subplot(2,1,1)plot(x(1:N))title('原图')y1=fft(x,N);subplot(2,1,2)plot(n,y1(1:N))title('128点采样')结果如图3:图 3从图2,3中可以看出:N=40和128点的FFT 幅度谱中均出现了两个频谱分量.对于128点采样,11128,128f T f ===,模拟频率分别为124,8ππΩ=Ω=,那么,数字频率分别为1122114,81283212816T T ππωπωπ=Ω=⨯==Ω=⨯=。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一熟悉MATLAB环境一、实验目的(1)熟悉MATLAB的主要操作命令。

(2)学会简单的矩阵输入和数据读写。

(3)掌握简单的绘图命令。

(4)用MATLAB编程并学会创建函数。

(5)观察离散系统的频率响应。

二、实验内容认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。

在熟悉了MATLAB基本命令的基础上,完成以下实验。

上机实验内容:(1)数组的加、减、乘、除和乘方运算。

输入A=[1 2 3 4],B=[3 4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。

实验程序:A=[1 2 3 4];B=[3 4 5 6];n=1:4;C=A+B;D=A-B;E=A.*B;F=A./B;G=A.^B;subplot(4,2,1);stem(n,A,'fill');xlabel ('时间序列n');ylabel('A');subplot(4,2,2);stem(n,B,'fill');xlabel ('时间序列n ');ylabel('B'); subplot(4,2,3);stem(n,C,'fill');xlabel ('时间序列n ');ylabel('A+B'); subplot(4,2,4);stem(n,D,'fill');xlabel ('时间序列n ');ylabel('A-B'); subplot(4,2,5);stem(n,E,'fill');xlabel ('时间序列n ');ylabel('A.*B'); subplot(4,2,6);stem(n,F,'fill');xlabel ('时间序列n ');ylabel('A./B'); subplot(4,2,7);stem(n,G,'fill');xlabel ('时间序列n ');ylabel('A.^B');运行结果:(2)用MATLAB实现以下序列。

a)x(n)=0.8n0≤n≤15实验程序:n=0:15;x=0.8.^n;stem(n,x,'fill'); xlabel ('时间序列n ');ylabel('x(n)=0.8^n');b)x(n)=e(0.2+3j)n0≤n≤15实验程序:n=0:15;x=exp((0.2+3*j)*n);stem(n,x,'fill'); xlabel ('时间序列n ');ylabel('x(n)=exp((0.2+3*j)*n)'); 运行结果:a)的时间序列 b)的时间序列c)x(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π) 0≤n≤15实验程序:n=0:1:15;x=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi);stem(n,x,'fill'); xlabel('时间序列n ');ylabel('x(n)=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi)');运行结果:d)将c)中的x(n)扩展为以16为周期的函数x16(n)=x(n+16),绘出四个周期实验程序:n=0:1:63;x=3*cos(0.125*pi*rem(n,16)+0.2*pi)+2*sin(0.25*pi*rem(n,16)+0.1*pi); stem(n,x,'fill'); xlabel ('时间序列n ');ylabel('x16(n)');e)将c)中的x(n)扩展为以10为周期的函数x10(n)=x(n+10),绘出四个周期实验程序:n=0:1:39;x=3*cos(0.125*pi*rem(n,10)+0.2*pi)+2*sin(0.25*pi*rem(n,10)+0.1*pi); stem(n,x,'fill'); xlabel ('时间序列n ');ylabel('x10(n)');运行结果:d )的时间序列e )的时间序列(3)x(n)=[1,-1,3,5],产生并绘出下列序列的样本。

a )x 1(n)=2x(n+2)-x(n-1)-2x(n)实验程序:n=0:3;x=[1 -1 3 5];x1=circshift(x,[0 -2]);x2=circshift(x,[0 1]);x3=2*x1-x2-2*x; stem(x3,'fill'); xlabel ('时间序列n');ylabel('x1(n)=2x(n+2)-x(n-1)-2x(n)');b )∑=-=51k 2)k n (nx (n) x实验程序:n=0:3;x=[1 -1 3 5];x1=circshift(x,[0 1]);x2=circshift(x,[0 2]);x3=circshift(x,[0 3]); x4=circshift(x,[0 4]);x5=circshift(x,[0 5]);xn=1*x1+2*x2+3*x3+4*x4+5*x5;stem(xn,'fill'); xlabel('时间序列n ');ylabel('x2(n)=x(n-1)+2x(n-2)+3x(n-3)+4x(n-4)+5x(n-5)');运行结果:a)的时间序列b)的时间序列(4)绘出时间函数的图形,对x轴、y轴图形上方均须加上适当的标注。

a) x(t)=sin(2πt) 0≤t≤10s b) x(t)=cos(100πt)sin(πt) 0≤t≤4s实验程序:clc;t1=0:0.001:10;t2=0:0.01:4;xa=sin(2*pi*t1);xb=cos(100*pi*t2).*sin(pi*t2);subplot(2,1,1);plot(t1,xa);xlabel ('t');ylabel('x(t)');title('x(t)=sin(2*pi*t)'); subplot(2,1,2);plot(t2,xb);xlabel('t');ylabel('x(t)');title('x(t)=cos(100*pi*t2).*sin(pi*t2)');运行结果:(5)编写函数stepshift(n0,n1,n2)实现u(n-n0),n1<n0<n2,绘出该函数的图形,起点为n1,终点为n2。

实验程序:clc;n1=input('请输入起点:');n2=input('请输入终点');n0=input('请输入阶跃位置');n=n1:n2;x=[n-n0>=0];stem(n,x,'fill');xlable('时间序列n');ylable('u(n-n0)');请输入起点:2请输入终点:8请输入阶跃位置:6运行结果:(5)运行结果(6)运行结果 (6)给一定因果系统)0.9z 0.67z -1)/(1z 2(1H(z)-2-1-1+++=求出并绘制H(z)的幅频响应与相频响应。

实验程序:a=[1 -0.67 0.9];b=[1 sqrt(2) 1];[h w]=freqz(b,a);fp=20*log(abs(h));subplot(2,1,1); plot(w,fp);xlabel('时间序列t');ylabel('幅频特性');xp=angle(h);subplot(2,1,2);plot(w,xp);xlabel('时间序列t');ylabel('相频特性');运行结果:(右上图)常用典型序列单位采样序列function [x,n]=impseq(n1,n2,n0)n=[n1:n2];x=[(n-n0)==0];[x,n]=impseq(-2,8,2);stem(n,x);title('电信1201')n0=-2;n=[-10:10];nc=length(n);x=zeros(1,nc);for i=1:ncif n(i)==n0x(i)=1endendstem(n,x) ;title('电信1201 采样序列第二种方法')单位阶跃序列function [x,n]=stepseq(n1,n2,n0) n=[n1:n2];x=[(n-n0)>=0];[x,n]=stepseq(-2,8,2);stem(n,x);title('电信1201')实数指数n=[0:10];x=0.9.^n;stem(n,x);title('电信1201')复数指数序列n=[-10:10];alpha=-0.1+0.3*j;x=exp(alpha*n);real_x=real(x); image_x=imag(x);mag_x=abs(x); phase_x=angle(x);subplot(2,2,1); stem(n,real_x) ;title('电信1201')subplot(2,2,2); stem(n,image_x);title('电信1201')subplot(2,2,3); stem(n,mag_x);title('电信1201')subplot(2,2,4); stem(n,phase_x);title('电信1201')正余弦n=[0:10];x=3*cos(0.1*pi*n+pi/3);stem(n,x);title('电信1201')例:求出下列波形x1(n)=2x(n-5)-3x(n+4)function [y,n]=sigadd(x1,n1,x2,n2)n=min(min(n1),min(n2)) : max(max(n1),max(n2));y1=zeros(1,length(n));y2=y1;y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;y=y1+y2;function [y,n]=sigshift(x,m,n0)n=m+n0;y=x;n=[-2:10];x=[1:7,6:-1:1];[x11,n11]=sigshift(x,n,5);[x12,n12]=sigshift(x,n,-4);[x1,n1]=sigadd(2*x11,n11,-3*x12,n12);stem(n1,x1);title('电信1201')已知某一系统方程为:y[n]-y[n-1]+0.9y[n-2]=x[n]计算并画出脉冲响应h(n),n=(-20,100) n=(-20:100);num=(1); den=[1 -1 0.9];x=impseq(-20,100,0);h=filter(num,den,x);stem(n,h)xlabel('时间序号N');ylabel('脉冲响应h');title('脉冲响应电信1201');实现两个序列a,b的卷积x=[3,11,7,0,-1,4,2];h=[2,3,0,-5,2,1];c=conv(x,h);stem(c);title('电信1201')自己给的数x=[0.5,1,1.5,0,0];h=[1,1,1];c=conv(x,h);stem(c);title('电信1201')试求卷积C(t)=f1(t)*f2(t),并绘制出f1、f2、及卷积以后的波形。

相关文档
最新文档