当前位置:文档之家› 西北工业大学Matlab实验报告2016

西北工业大学Matlab实验报告2016

plot(f,mag);
grid;
xlabel('frequency(hz)');
ylabel('magnitude');
subplot(4,1,2);
plot(f,ph);
grid;
xlabel('frequency(hz)');
ylabel('phase');
n=1:100;
x(n)=cos(0.02*pi*n);
y=filter(b,a,x);
subplot(4,1,3);
stem(x);
subplot(4,1,4);
stem(y)
3.
(1)n=10;
wn=[500 700]/1000;
[b,a]=butter(n,wn);
[h,f]=freqz(b,a,256,1000);
mag=abs(h);
ph=angle(h);
西北工业大学
《基于MATLAB的数字信号处理》实验报告
学 院:
学号:
姓名:
专业:
实验时间:
2016年6月
指导教师:
冯 燕
西北工业大学
2016年06月
实验一MATLAB基本编程实验
一、实验目的及要求
1.熟悉MATLAB运行环境;
2. 掌握MATLAB的基本语法和函数;
3. 掌握MATLAB的基本绘图功能
五、程序代码及注释
1.A=[6,3,4;-2,5,7;8,-4,-3]; %系数矩阵
b=[3;-4;-7];
x=inv(A)*b %求逆
2.M文件:
function[ n ] = fun( max )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
y2=cos(2*acos(x));
plot(x,y2,’b’); %第二条
hold on
y3=cos(3*acos(x));
plot(x,y3,’g’); %第三条
hold on
y4=cos(4*acos(x));
plot(x,ycos(x));
a=1;
b=1;
whileb<max
a=a+1;
b=b*a;
end
n=a-1;
end
主程序
max=input('please input the realmax:');
n=fun(max)
3.
x=-1:0.01:1;
y1=cos(acos(x));
plot(x,y1,’r’); %第一条
hold on
2)画出其幅频和相频图;
3)如果系统输入为,求出在 内的响应y(n),并画出输入序列和输出序列的曲线图说明。
3.设计IIR滤波器(带通,三种方法,fs=2000Hz,通带频率500~700Hz,阶数自选,画频率特性并分析比较)
四、设计思想
1.由normrnd函数产生高斯序列,判断函数位进行赋值,产生移位序列,通过函数xcorr进行互相关处理
二、实验设备(环境)及要求
1.计算机
2.Matlab软件编程实验平台
三、实验内容与步骤
1.求下列线性方程组的解
2.编写一个MATLAB函数文件,该函数的功能是求出最大的n值,
使得。通过M文件或命令行调用该函数文件计算
realmax=50000时的n值。
3.某多项式的定义为: 其中x的值介于[-1,1]之间。
subplot(2,1,1);
plot(f,mag);
grid;
xlabel('frequency(hz)');
ylabel('magnitude');
subplot(2,1,2);
plot(f,ph);
grid;
xlabel('frequency(hz)');
ylabel('phase');
(2) n=10;
当m的值由1变化到5,可以得到5条曲线。将这5条曲线画在同一图形
窗口上,并标明每一条曲线。
四、设计思想
1.采用矩阵求逆的方法,将系数矩阵求逆,乘以单元矩阵,直接得到未知数。
2.在M文件中使用循环语句,判断是否符合条件,返回值,主程序进行调用
3.将5条曲线分别绘制,plot用不同颜色标志,采用hold on画在一个图中,
三、实验内容
1.x(n)=[8,5,3,11,7,0,-1,4,2,6,5], 是原序列,设y(n)是原序列受到噪声污染并移位了的序列y(n) = x(n-3)+w(n),其中w(n)是均值为0,方差为1的高斯随机序列。计算y(n)与x(n)的相关性。
2.一个线性时不变系统由下面差分方程描述
1)求频率响应;
plot(x,y5,’k’); %第五条
六、实验结果
1.结果:
2.结果:
3.结果:
实验二MATLAB基本编程实验
一、实验目的及要求
1. 回顾数字信号处理的主要内容;
2. 掌握利用MATLAB进行信号处理的方法;
3. 了解信号处理工具箱中一些函数的功能;
二、实验设备(环境)及要求
1.计算机
2.Matlab软件编程实验平台
subplot(2,1,2);
plot(f,ph);
grid;
xlabel('frequency(hz)');
ylabel('phase');
(3) n=10;
wn=[500 700]/1000;
[b,a]=cheby1(n,0.5,wn);
wn=[500 700]/1000;
[b,a]=ellip(n,0.5,20,wn)
[h,f]=freqz(b,a,256,1000);
mag=abs(h);
ph=angle(h);
subplot(2,1,1);
plot(f,mag);
grid;
xlabel('frequency(hz)');
ylabel('magnitude');
2.用freq函数求出频率相应,通过abs和angle函数求出幅频和相频图,采用filter函数求出输出序列
3.分别采用butterworth滤波器、椭圆滤波器和cheby滤波器,求出频率特性
五、程序代码及注释
1.x=[8,5,3,11,7,0,-1,4,2,6,5];
for n=1:1:11
if n<4
yy(n)=0;
else yy(n)=x(n-3);
end
end
w=normrnd(0,1,1,11);
y=yy+w;
a=xcorr(x,y);
2.fs=1000;
b=[1];
a=[1,-0.8];
[h,f]=freqz(b,a,512,fs);
mag=abs(h);
ph=angle(h);
subplot(4,1,1);
相关主题