matlab操作作业。
1、 编写matlab程序产生下列基本脉冲序列。
1) 单位抽样序列,起点ns=0,终点nf=10,在n0=6处有一单位脉冲。
2) 单位阶跃序列,起点ns=0,终点nf=10,在n0=6前为0,后为1。
3) 复指数序列,σ=0.2,ω0=0.8。
解: 程序清单:
clear,n0=6;
ns=0;nf=10;
n1=[ns:nf];
x1=[zeros(1,n0-ns),1,zeros(1,nf-n0)];
n2=[ns:nf];
x2=[zeros(1,n0-ns),ones(1,nf-n0+1)];
n3=[ns:nf];
x3=exp((-0.2+0.8j)*n3);
subplot(2,2,1),stem(n1,x1);
title('单位脉冲序列(n-6)')
subplot(2,2,2),stem(n2,x2);
title('单位阶跃序列(n-6)')
subplot(2,2,3),stem(n3,real(x3));
line([0,10],[0,0])
title('复指数序列');ylabel ('实部');
subplot(2,2,4),stem(n3,imag(x3));
line([0,10],[0,0])
title('复指数序列');ylabel ('虚部');
2、 一个信号是由50hz、幅值为0.6的正弦信号和80hz、幅值为3的正弦信号组成。数据采样频率fs=200hz(对应于采样间隔为0.
005s),试分别绘制n=128点fft幅频图和n=1024点幅频图。
解:clf;
fs=200;n=128采样频率和数据点数。
n=0:n-1;t=n/fs时间序列。
x=0.6*sin(2*pi*50*t)+3*sin(2*pi*80*t); 信号。
y=fft(x,n对信号进行快速傅里叶变换。
mag=abs(y求得傅里叶变换后的振幅。
f=n*fs/n频率序列。
subplot(2,2,1),plot(f,mag绘出随频率变化的振幅。
xlabel('频率/hz');
ylabel('振幅');
title('n=128');grid on;
subplot(2,2,2),plot(f(1:n/2),mag(1:n/2));绘出nyquist频率之前随频率变化的振幅。
xlabel('频率/hz');
ylabel('振幅');
title('n=128');grid on对信号采样数据为1024点的处理。
fs=200;n=1024;n=0:n-1;t=n/fs;
x=0.6*sin(2*pi*50*t)+3*sin(2*pi*80*t); 信号。
y=fft(x,n对信号进行快速傅里叶变换。
mag=abs(y求得傅里叶变换后的振幅。
f=n*fs/n;
subplot(2,2,3),plot(f,mag绘出随频率变化的振幅
xlabel('频率/hz');
ylabel('振幅');
title('n=1024');grid on;
subplot(2,2,4),plot(f(1:n/2),mag(1:n/2));绘出nyquist频率之前随频率变化的振幅。
xlabel('频率/hz');
ylabel('振幅');
title('n=1024');grid on;
3、运用fft对信号x=5*sin(2*pi*10*n*dt)+cos(2*pi*30*n*dt),数据点数为512,进行滤波,将频率为20~40hz的波滤去。采样间隔dt=0.01。
绘出滤波前和滤波后的振幅谱以及滤波后的时间域信号。
解:dt=0.01;n=512;
n=0:n-1;
t=n*dt;
f=n/(n*dt);
f1=10;f2=30;
x=5*sin(2*pi*f1*t)+cos(2*pi*f2*t);
subplot(2,2,1),plot(t,x);
title('原始信号的时域');xlabel('时间/s');
y=fft(x);
subplot(2,2,2),plot(f,abs(y)*2/n)
xlabel('频率/hz'),ylabel('振幅')
xlim([0 50]);title('原始振幅谱')
f1=20;f2=40;
yy=zeros(1,length(y));
for m=0:n-1
if(m/(n*dt)>f1&m/(n*dt) |m/(n*dt)>(1/dt-f2)&m/(n*dt)<(1/dt-f1))
yy(m+1)=0.;
elseyy(m+1)=y(m+1);
endend
subplot(2,2,4),plot(f,abs(yy)*2/n)
xlim([0 50]);xlabel('频率/hz');ylabel('振幅')
gstext=sprintf('%4.1f -%4.1f hz 的频率被滤除',f1,f2); title(gstext)
subplot(2,2,3),plot(t,real(ifft(yy)))
title('通过ifft回到时间域');
xlabel('时间/s');
4、用脉冲响应不变法和双线性变换法将下列模拟滤波器h(s)转变为数字滤波器h(z).
解:程序清单:
b=[1 2];a=[2 3 1];t=2;
bz1,az1]=impinvar(b,a,1/t)
程序输出结果:
5、设计带通chebyshev i 型模拟滤波器ws1=0.2*pi(rad/s);ws2=0.8*pi(rad/s);rs=60db;wp1=0.
3*pi(rad/s);wp2=0.7*pi(rad/s);rp=1db。
解:程序清单:
wp=[0.3 0.7]*pi;
ws=[0.2 0.8]*pi;
rp=1;rs=60;
n,wn]=cheb1ord(wp,ws,rp,rs,'s');
[z,p,k]=cheb1ap(n,rp);
b,a]=zp2tf(z,p,k);
wo=sqrt(wn(1)*wn(2));
bw=wn(2)-wn(1);
bt,at]=lp2bp(b,a,wo,bw
h,w]=freqs(bt,at,128);
plot(w/pi,20*log10(abs(h)))
xlabel('角频率/pi');
ylabel('|h(jw)|/db')
grid on;hold on;
plot([0.2 0.2],ylim,'r');
plot([0.8 0.8],ylim,'r');
plot([0.3 0.3],ylim);
plot([0.7 0.7],ylim);
6、设计一个butterworth高通数字滤波器,通带边界频率为400hz,阻带边界频率为300hz,通带波纹小于1db,阻带衰减大于40db,采样频率为2000hz,假设一个信号,其中f1=100hz,f2=500hz.试将原信号与通过该滤波器的输出信号进行比较。
fs=2000;
wp=400*2/fs;
ws=300*2/fs;
rp=1;rs=40;
nn=128;
n,wn]=buttord(wp,ws,rp,rs);
b,a]=butter(n,wn,'high');
figure(1)
h,f]=freqz(b,a,nn,fs);
subplot(2,1,1),plot(f,20*log10(abs(h)))
xlabel('频率/hz');
ylabel('振幅/db');
grid on;
subplot(2,1,2),plot(f,180/pi*unwrap(angle(h)))
xlabel('频率/hz');
ylabel('相位/^o');
grid on;
n=0:127;
dt=1/fs;t=n*dt;
f1=100;f2=500;
x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t);
figure(2);
subplot(2,1,1);
plot(t,x);
title('输入信号');
y=filter(b,a,x);
subplot(2,1,2);
plot(t,y);
title('输出信号')
xlabel('时间/s');
matlab作业
2011029170002王柳。a 一个问题的病态性如何,与求解它的算法有关系。错 b 无论问题是否病态,好的算法都会得到它好的近似解。错 c 计算中使用更高的精度,可以改善问题的病态性。错 d 用一个稳定的算法计算一个良态问题,一定会得到它好的近似解。对 e 浮点数在整个数轴上是均匀分布。错 f ...
matlab作业
matlab语言 第3次作业 字符串,单元数组和结构体 专业 海洋技术 海洋测绘方向 姓名 张体强学号 1026222 1 如何将一个char 数据类型的向量转化为相应的double 型数据类型的数据向量。从式1 到8,判断这些语句是否正确。如果它们正确,那么将产生什么结果?这题不要在电脑中做。1....
matlab作业
电子与通信工程学院。通信系统 实验报告。2013 2014 学年第1学期。调频 fm 系统调制解调 专业 通信工程。班级 通信111 班。学号 姓名 指导教师姓名陈多瑜。2013年 11 月日。1.频率调制或调频 fm 1 设调制信号为m t 调频信号的数学表达式为。例如 m t 的时域波形为。m ...