数字信号处理原理及应用的matlab程序

数字信号处理原理及应用的matlab程序
数字信号处理原理及应用的matlab程序

复指数的matlab程序:

n=[0:40];

x=exp((0.02+0.3j)*n);

subplot(2,2,1);

stem(n,real(x));

xlabel('n');ylabel('Re(x)');

subplot(2,2,2);

stem(n,imag(x));

xlabel('n');ylabel('Im(x)');

subplot(2,2,3);

stem(n,abs(x));

xlabel('n');ylabel('Magnitude');

subplot(2,2,4);

stem(n,(180/pi)*angle(x));

xlabel('n');ylabel('Phase');

移位的matlab程序:

m=[-1:5];

x=(1/3)*(1/3).^m;

n=m-1;

x1=x;

n1=m+1;

x2=x;

subplot(3,1,1);stem(m,x);ylabel('x(n)');xlabel('n');

subplot(3,1,2);stem(n,x1);ylabel('x(n+1)');xlabel('n');

subplot(3,1,3);stem(n1,x2);ylabel('x(n-1)');xlabel('n');

反褶的matlab程序:

n=[-1:5];

x=(1/3)*(1/3).^n;

y=fliplr(x);

m=-fliplr(n);

subplot(2,1,1);stem(n,x);ylabel('x(n)');xlabel('n');

subplot(2,1,2);stem(m,y);ylabel('x(-n)');xlabel('n');

加减乘积的matlab程序:

m1=[-2:-1];y1=2..^m1;

m2=[0:5];y2=m2+1;

m=min(min(m1),min(m2)):max(max(m1),max(m2));

z1=zeros(1,length(m));z2=z1;

z1(find((m>=min(m1))&(m<=max(m1))==1))=y1;

z2(find((m>=min(m2))&(m<=max(m2))==1))=y2;

y=z1+z2;

n=[-1:5];

x=(1/2)*(1/2).^n;

nn=min(min(m),min(m)):max(max(n),max(n));

z11=zeros(1,length(nn));z22=z11;

z11(find((nn>=min(m))&(nn<=max(m))==1))=y;

z22(find((nn>=min(n))&(nn<=max(n))==1))=x;

z=z11+z22;

zz=z11.*z22;

subplot(4,1,1);stem(n,x);title('x(n)');

subplot(4,1,2);stem(m,y);title('y(n)');

subplot(4,1,3);stem(nn,z);title('z1(n)=x(n)+y(n)'); subplot(4,1,4);stem(nn,zz);title('z2(n)=x(n)*y(n)'); xlabel('n');

matlab程序大全答案

频率特性类题目 1 一个系统的开环传递函数为 ,试绘制其当K=5、30时系统的开环频率特性Nyquist 图,并判断系统的稳定性。 w=linspace(0.5,5,1000)*pi; sys1=zpk([],[0 -10 -2],100) sys2=zpk([],[0 -10 -2],600) figure(1) nyquist(sys1,w) title('system nyquist charts with k=5') figure(2) nyquist(sys2,w) title('system nyquist charts with k=30') 由图可知K=5时,开环Nyquist 曲线没有包围(-1,j0)点,所以系统稳定。 K=30时,开环Nyquist 曲线包围(-1,j0)点,所以系统不稳定。 2系统开环传递函数为 ,建立其零极点增益模型, 然后分别绘制当K=5、K=30时系统的开环频率特性Bode 图,并判断系统的稳定性。 sys1=zpk([],[0 -10 -2],100) sys2=zpk([],[0 -10 -2],600) figure(1) [Gm1,Pm1,Wcg1,Wcp1]=margin(sys1) bode(sys1) title('system bode charts with k=5'),grid figure(2) [Gm2,Pm2,Wcg2,Wcp2]=margin(sys2) bode(sys2) title('system bode charts with k=30'),grid 因为K=5时,Wcg>Wcp,所以系统稳定。 K=10时,Wcg

基于matlab的GUI设计——机械原理教学演示系统

机械原理教学演示系统——基于matlab的GUI设计 xxx 指导老师: 20年月日

目录 一、功能简介 (3) 二、总界面 (3) 三、凸轮模块 (4) 四、齿轮模块 (6) 五.参考书目 (6) 六.附录(部分程序源代码) (7)

一、功能简介 本系统能实现机械原理教学过程中凸轮模块与齿轮模块的设计与运动仿真,加深对机械原理课程学习的理解。 二、总界面 总界面标题设置:set(gcf,'name','机械原理教学演示系统 made by 翟鲁鑫'); 背景图片设置:ximg=imread('机械原理课本.jpg'); imshow(ximg); 背景声音播放:Fs=44100; [ywav,Fs]=wavread('夜的钢琴曲 - 六3.wav'); sound(ywav,Fs); 到各个模块:到凸轮模块 clc close(gcf); clear all

GUItulun 到齿轮模块 clc close(gcf); clear all GUIchilun 关闭系统:clc question='真的要退出吗?'; title='确认退出?'; button=questdlg(question,title,'是','否','是'); switch button case'是' clear all close case'否' return end 三、凸轮模块 设计要点: 1.背景声音设置方法同主界面

2.推程角、远休角、回程角之和不能大于360度的判别条件;基圆半径、滚子半径、行程不能为0的判别条件 sr0=get(handles.edit2,'string'); r0=str2num(sr0); if isequal(r0,0) errordlg('基圆半径不能为0,请重新输入','出错'); return end srr=get(handles.edit3,'string'); rr=str2num(srr); if isequal(rr,0) errordlg('滚子半径不能为0,请重新输入','出错'); return end sh=get(handles.edit4,'string'); h=str2num(sh); if isequal(h,0) errordlg('行程不能为0,请重新输入','出错'); return end n3=phi01+phi02+phi03; %推程角、远休止角与回程角的总和 if n3>360 errordlg('角度之和大于360,请重新输入','出错'); end 3.仿真程序。采用for 循环以及m(j)=getframe之前要先使用moviein函数Initialize movie frame memory,否则要提示错误 4.仿真之前要先清除绘图时留下的图像,命令如下cla(handles.axes1); 5.回主界面之前要先clear all,关闭音乐、清空global定义的全局变量,以防全局变量影响下一程序 6.图像保存。绘制出的图像可以保存供以后查看。主要命令有uiputfile()、imwrite() [sfilename,sfilepath]=uiputfile({'*.jpg';'*.bmp';'*.tif';'*.*'},... '保存图像文件','unititled.jpg'); if ~isequal([sfilename,sfilepath],[0,0]) sfilefullname=[sfilepath ,sfilename]; h_tulun = getframe(handles.axes1); imwrite(h_tulun.cdata,sfilefullname); else msgbox('您按了取消,保存失败','保存失败','error'); end

数字信号处理Matlab实现实例(推荐给学生)

数字信号处理Matlab 实现实例 第1章离散时间信号与系统 例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中为:{-2 -4 1 3 1 5 1 -3}。 例1-2 用MATLAB计算差分方程 当输入序列为时的输出结果。 解 MATLAB程序如下: N=41; a=[0.8 -0.44 0.36 0.22]; b=[1 0.7 -0.45 -0.6]; x=[1 zeros(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差分方程所对应的系统函数为: 123 123 0.80.440.360.02()10.70.450.6z z z H z z z z -------++= +-- 其DTFT 为 23230.80.440.360.02()10.70.450.6j j j j j j j e e e H e e e e ωωωω ωωω--------++= +-- 用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('幅度')

MATLAB程序设计教程课后答案

实验指导 1、 n=input('请输入一个三位数:'); a=fix(n/100); b=fix((n-a*100)/10); c=n-a*100-b*10; d=c*100+b*10+a 2(1) n=input('请输入成绩'); switch n case num2cell(90:100) p='A'; case num2cell(80:89) p='B'; case num2cell(70:79) p='C'; case num2cell(60:69) p='D'; otherwise p='E'; end price=p (2)n=input('请输入成绩'); if n>=90&n<=100 p='A'; elseif n>=80&n<=89 p='B'; elseif n>=70&n<=79 p='C'; elseif n>=60&n<=69 p='D'; else p='E'; end price=p (3)try n; catch price='erroe' end 3 n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6]; a=n(1);

for m=2:20 if n(m)>a a=n(m); elseif n(m)=0 disp(A([n],:)); elseif n<0 disp(lasterr); else disp(A([6],:)); disp(lasterr); end 7(1) f=[]; for n=1:40

机械原理大作业

Harbin Institute of Technology 机械原理大作业(一) 课程名称:机械原理 设计题目:连杆机构运动分析 院系:机电工程学院 班级: 设计者: 学号: 指导教师:

一、题目(13) 如图所示机构,已知各构件尺寸:Lab=150mm;Lbc=220mm;Lcd=250mm;Lad=300mm;Lef=60mm;Lbe=110mm;EF⊥BC。试研究各杆件长度变化对F点轨迹的影响。 二、机构运动分析数学模型 1.杆组拆分与坐标系选取 本机构通过杆组法拆分为: I级机构、II级杆组RRR两部分如下:

2.平面构件运动分析的数学模型 图3 平面运动构件(单杆)的运动分析 2.1数学模型 已知构件K 上的1N 点的位置1x P ,1y P ,速度为1x v ,1Y v ,加速度为1 x a ,1y a 及过点的1N 点的线段12N N 的位置角θ,构件的角速度ω,角加速度ε,求构件上点2N 和任意指定点3N (位置参数13N N =2R ,213N N N ∠=γ)的位置、 速度、加速度。 1N ,3N 点的位置为: 211cos x x P P R θ=+ 211sin y y P P R θ=+ 312cos()x x P P R θγ=++ 312sin()y y P P R θγ=++ 1N ,3N 点的速度,加速度为: 211211sin ()x x x y y v v R v P P ωθω=-=-- 211121sin (-) y y y x x v v R v P P ωθω=-=- 312131sin() () x x x y y v v R v P P ωθγω=-+=--312131cos()() y y y x x v v R v P P ωθγω=-+=-- 2 212121()()x x y y x x a a P P P P εω=---- 2 212121()() y y x x y y a a P P P P εω=+--- 2313131()()x x y y x x a a P P P P εω=---- 23133(1)(1) y y x x y y a a P P P P εω=+--- 2.2 运动分析子程序 根据上述表达式,编写用于计算构件上任意一点位置坐标、速度、加速度的子程序如下: 1>位置计算 function [s_Nx,s_Ny ] =s_crank(Ax,Ay,theta,phi,s) s_Nx=Ax+s*cos(theta+phi); s_Ny=Ay+s*sin(theta+phi); end 2>速度计算 function [ v_Nx,v_Ny ] =v_crank(s,v_Ax,v_Ay,omiga,theta,phi) v_Nx=v_Ax-s*omiga.*sin(theta+phi); v_Ny=v_Ay+s*omiga.*cos(theta+phi); end 3>加速度计算 function [ a_Nx,a_Ny ]=a_crank(s,a_Ax,a_Ay,alph,omiga,theta,phi) a_Nx=a_Ax-alph.*s.*sin(theta+phi)-omiga.^2.*s.*cos(theta+phi);

数字信号处理MATLAB中FFT实现

MATLAB中FFT的使用方法 说明:以下资源来源于《数字信号处理的MATLAB实现》万永革主编 一.调用方法 X=FFT(x); X=FFT(x,N); x=IFFT(X); x=IFFT(X,N) 用MATLAB进行谱分析时注意: (1)函数FFT返回值的数据结构具有对称性。 例: N=8; n=0:N-1; xn=[43267890]; Xk=fft(xn) → Xk= 39.0000-10.7782+6.2929i0-5.0000i 4.7782-7.7071i 5.0000 4.7782+7.7071i0+5.0000i-10.7782-6.2929i Xk与xn的维数相同,共有8个元素。Xk的第一个数对应于直流分量,即频率值为0。 (2)做FFT分析时,幅值大小与FFT选择的点数有关,但不影响分析结果。在IFFT时已经做了处理。要得到真实的振幅值的大小,只要将得到的变换后结果乘以2除以N即可。 二.FFT应用举例 例1:x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t)。采样频率fs=100Hz,分别绘制N=128、1024点幅频图。

clf; fs=100;N=128;%采样频率和数据点数 n=0:N-1;t=n/fs;%时间序列 x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);%信号 y=fft(x,N);%对信号进行快速Fourier变换 mag=abs(y);%求得Fourier变换后的振幅 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=100;N=1024;n=0:N-1;t=n/fs; x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);%信号 y=fft(x,N);%对信号进行快速Fourier变换 mag=abs(y);%求取Fourier变换的振幅 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; 运行结果:

matlab程序设计第三章课后习题答案

1. p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。 >> t=0:0.01:pi; >> x1=t; >> y1=2*x1-0.5; >> x2=sin(3*t).*cos(t); >> y2=sin(3*t).*sin(t); >> plot(x1,y1,'r-',x2,y2,'g-') >> axis([-1,2,-1.5,1]) >> hold on >> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s.x),double(s.y),'*'); 截图:

p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。 function [ output_args ] = Untitled2( input_args ) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here theta=0:0.01:2*pi; a=input('请输入a的值:'); b=input('请输入b的值:'); n=input('请输入n的值:'); rho=a*sin(b+n*theta); polar(theta,rho,'k'); end 下面以a=1,b=1,n=1的极坐标图形为基础来分析a、b、n的影响。

对a的值进行改变:对比发现a只影响半径值的整倍变化 对b的值进行改变:对比发现b的值使这个圆转换了一定的角度

对n的值进行改变:对比发现当n>=2时有如下规律 1、当n为整数时,图形变为2n个花瓣状的图形 2、当n为奇数时,图形变为n个花瓣状的图形 分别让n为2、3、4、5

机械原理大作业3 凸轮结构设计

机械原理大作业(二) 作业名称:机械原理 设计题目:凸轮机构设计 院系:机电工程学院 班级: 设计者: 学号: 指导教师:丁刚陈明 设计时间: 哈尔滨工业大学机械设计

1.设计题目 如图所示直动从动件盘形凸轮机构,根据其原始参数设计该凸轮。 表一:凸轮机构原始参数 序号升程 (mm) 升程运动 角(o) 升程运动 规律 升程许用 压力角 (o) 回程运动 角(o) 回程运动 规律 回程许用 压力角 (o) 远休止角 (o) 近休止角 (o) 12 80 150 正弦加速 度30 100 正弦加速 度 60 60 50 2.凸轮推杆运动规律 (1)推杆升程运动方程 S=h[φ/Φ0-sin(2πφ/Φ0)]

V=hω1/Φ0[1-cos(2πφ/Φ0)] a=2πhω12sin(2πφ/Φ0)/Φ02 式中: h=150,Φ0=5π/6,0<=φ<=Φ0,ω1=1(为方便计算) (2)推杆回程运动方程 S=h[1-T/Φ1+sin(2πT/Φ1)/2π] V= -hω1/Φ1[1-cos(2πT/Φ1)] a= -2πhω12sin(2πT/Φ1)/Φ12 式中: h=150,Φ1=5π/9,7π/6<=φ<=31π/18,T=φ-7π/6 3.运动线图及凸轮线图 运动线图: 用Matlab编程所得源程序如下: t=0:pi/500:2*pi; w1=1;h=150; leng=length(t); for m=1:leng; if t(m)<=5*pi/6 S(m) = h*(t(m)/(5*pi/6)-sin(2*pi*t(m)/(5*pi/6))/(2*pi)); v(m)=h*w1*(1-cos(2*pi*t(m)/(5*pi/6)))/(5*pi/6); a(m)=2*h*w1*w1*sin(2*pi*t(m)/(5*pi/6))/((5*pi/6)*(5*pi/6)); % 求退程位移,速度,加速度 elseif t(m)<=7*pi/6 S(m)=h; v(m)=0; a(m)=0; % 求远休止位移,速度,加速度 elseif t(m)<=31*pi/18 T(m)=t(m)-21*pi/18; S(m)=h*(1-T(m)/(5*pi/9)+sin(2*pi*T(m)/(5*pi/9))/(2*pi)); v(m)=-h/(5*pi/9)*(1-cos(2*pi*T(m)/(5*pi/9))); a(m)=-2*pi*h/(5*pi/9)^2*sin(2*pi*T(m)/(5*pi/9)); % 求回程位移,速度,加速度

实验一 基于Matlab的数字信号处理基本

实验一 基于Matlab 的数字信号处理基本操作 一、 实验目的:学会运用MA TLAB 表示的常用离散时间信号;学会运用MA TLAB 实现离 散时间信号的基本运算。 二、 实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套。 三、 实验内容: (一) 离散时间信号在MATLAB 中的表示 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。 离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”。由于MATLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。 1. 单位取样序列 单位取样序列)(n δ,也称为单位冲激序列,定义为 ) 0() 0(0 1)(≠=?? ?=n n n δ 要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。在MATLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即 function y=impDT(n) y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n 必须为整数或整数向量。 【实例1-1】 利用MATLAB 的impDT 函数绘出单位冲激序列的波形图。 解:MATLAB 源程序为 >>n=-3:3; >>x=impDT(n); >>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位冲激序列') >>axis([-3 3 -0.1 1.1]) 程序运行结果如图1-1所示。 图1-1 单位冲激序列

青岛理工大学临沂年数字信号处理及MATLAB试卷

A卷

一、[15分] 1、10 2、f>=2fh

3、()()()y n x n h n =* 4、1 -az -11a 或者-z z ,a 1 -z 或1-1-az -1z 5、对称性 、 可约性 、 周期性 6、191点,256 7、典范型、级联型、并联型 8、T ω = Ω,)2 tan(2ω T = Ω或)2arctan(2T Ω=ω。 二、[20分] 1、C 2、 A 3、 C 4、C 5、B 6、D 7、B 8、A 9、D 10、A (CACCB DBADA) 三、[15分] 1、(5分) 混叠失真:不满足抽样定理的要求。 改善方法:增加记录长度 频谱泄漏:对时域截短,使频谱变宽拖尾,称为泄漏 改善方法:1)增加w (n )长度 2)缓慢截短 栅栏效应:DFT 只计算离散点(基频F0的整数倍处)的频谱,而不是连续函数。 改善方法:增加频域抽样点数N (时域补零),使谱线更密 2、(5分) 3、 (5分) IIR 滤波器: 1)系统的单位抽样相应h (n )无限长 2)系统函数H (z )在有限z 平面( )上有极点存在 3)存在输出到输入的反馈,递归型结构 Fir 滤波器: ? 1)系统的单位冲激响应h (n )在有限个n 处不为零; ? 2)系统函数 在||0 z >处收敛,在 处只有零点,即有限z 平面只有零点,而全部极点都在z =0处; ? 3)机构上主要是非递归结构,没有输入到输出的反馈,但有些结构中也包含有反馈的递归部分。 四、计算题(40分) 1、(12分)解: 解: 对上式两边取Z 变换,得: ()H z ||0z >

MATLAB程序应用题及答案

MATLAB程序: 1、求解准则层对目标层的权重向量w以及最大特征值d >> A=[1 2 4;1/2 1 2;1/4 1/2 1]; >> [v,d]=eig(A) v = -0.9631 0.8729 0 0.2408 0.4364 -0.8944 0.1204 0.2182 0.4472 d = -0.0000 0 0 0 3.0000 0 0 0 0 >> w=v(:,2)/sum(v(:,2)) w = 0.5714 0.2857 0.1429 2、求解第三层对第二层的权重向量w1,w2,w3及对应的最大特征值d1,d2,d3,并进行一致性检验 >> B1=[1 3 2;1/3 1 1/2;1/2 2 1]; >> [w1,d1]=eig(B1) w1 = -0.8468 0.8468 0.8468 -0.2565 -0.1282 - 0.2221i -0.1282 + 0.2221i -0.4660 -0.2330 + 0.4036i -0.2330 - 0.4036i d1 = 3.0092 0 0 0 -0.0046 + 0.1663i 0 0 0 -0.0046 - 0.1663i >> w1=w1(:,1)/sum(w1(:,1)) w1 = 0.5396 0.1634 0.2970 >> CI=(3.0092-3)/(3-1) CI = 0.0046 >> RI=0.58; >> CR=CI/RI CR = 0.0079 >> B2=[1 3 9;1/3 1 3;1/9 1/3 1]; >> [w2,d2]=eig(B2) w2 =

-0.9435 0.4427 0.9392 -0.3145 -0.8643 -0.3433 -0.1048 0.2389 0.0101 d2 = 3.0000 0 0 0 0.0000 0 0 0 -0.0000 >> w2=w2(:,1)/sum(w2(:,1)) w2 = 0.6923 0.2308 0.0769 >> B3=[1 3 5;1/3 1 2;1/5 1/2 1]; >> [w3,d3]=eig(B3) w3 = -0.9281 0.9281 0.9281 -0.3288 -0.1644 + 0.2847i -0.1644 - 0.2847i -0.1747 -0.0873 - 0.1513i -0.0873 + 0.1513i d3 = 3.0037 0 0 0 -0.0018 + 0.1053i 0 0 0 -0.0018 - 0.1053i >> CI=(3.0037-3)/(3-1) CI = 0.0018 >> RI=0.58; >> CR=CI/RI CR = 0.0032 >> w3=w3(:,1)/sum(w3(:,1)) w3 = 0.6483 0.2297 0.1220 >> w4=w1*w(1,:) Q1,Q2,Q3对O层的组合权重为 w4 = 0.3084 0.0934 0.1697 Q4,Q5,Q6对O层的组合权重为

数字信号处理指导书matlab版

实验1 时域离散信号的产生 一、实验目的 学会运用MATLAB 产生常用离散时间信号。 二、实验涉及的matlab 子函数 1、square 功能:产生矩形波 调用格式: x=square(t);类似于sin (t ),产生周期为2*pi ,幅值为+—1的方波。 x=square(t ,duty);产生制定周期的矩形波,其中duty 用于指定脉冲宽度与整个周期的比例。 2、rand 功能:产生rand 随机信号。 调用格式: x=rand (n ,m );用于产生一组具有n 行m 列的随机信号。 三、实验原理 在时间轴的离散点上取值的信号,称为离散时间信号。通常,离散时间信号用x (n )表示,其幅度可以在某一范围内连续取值。 由于信号处理所用的设备主要是计算机或专用的信号处理芯片,均以有限的位数来表示信号的幅度,因此,信号的幅度也必须“量化”,即取离散值。我们把时间和幅度上均取离散值的信号称为时域离散信号或数字信号。 在MATLAB 中,时域离散信号可以通过编写程序直接生成,也可以通过对连续信号的等间隔抽样获得。 下面介绍常用的时域离散信号及其程序。 1、单位抽样序列 ? ? ?≠==000 1)(k k k δ MATLAB 源程序为

1) function [x,n] = impuls (n0,n1,n2) % Generates x(n) = delta(n-n0); n=n0 处建立一个单位抽样序列% [x,n] = impuls (n0,n1,n2) if ((n0 < n1) | (n0 > n2) | (n1 > n2)) error('arguments must satisfy n1 <= n0 <= n2') end n = [n1:n2]; x = [zeros(1,(n0-n1)), 1, zeros(1,(n2-n0))]; 将上述文件存为:impuls.m,在命令窗口输入 n0=0,n1=-10,n2=11; [x,n]=impuls (n0,n1,n2); stem(n,x,’filled’) 2)n1=-5;n2=5;n0=0; n=n1:n2; x=[n==n0]; stem(n,x,'filled','k'); axis([n1,n2,1.1*min(x),1.1*max(x)]); title('单位脉冲序列'); xlabel('时间(n)'); ylabel('幅度x(n)'); 3)n1=-5;n2=5;k=0; n=n1:n2; nt=length(n); %求n点的个数 nk=abs(k-n1)+1; %确定k在n序列中的位置 x=zeros(1,nt); %对所有样点置0 x(nk)=1; %对抽样点置1 stem(n,x,'filled','k'); axis([n1,n2,0,1.1*max(x)]); title('单位脉冲序列'); xlabel('时间(n)'); Ylabel('幅度x(n)');

matlab简单编程21个题目及答案

1、设 ? ? ? ? ? ? + + = ) 1( sin 3 5.0 cos 2 x x x y ,把x=0~2π间分为101点,画出以x为横坐 标,y为纵坐标的曲线。 第一题的matlab源程序: ①考虑cos(x)为一个整体,然后乘以中括号里面的全部 x=0:2*pi/100:2*pi; %x的步长以及范围从0到2*pi y=cos(x).*(0.5+3*sin(x)./(1+x.^2)); %y的表达式 plot(x,y)%画出图形 图如下: ②考虑对整体求解cos,先求x乘以括号中的部分 x=0:2*pi/100:2*pi; %x的步长以及范围从0到2*pi y=cos(x.*(0.5+3*sin(x)./(1+x.^2))); %y的表达式 plot(x,y) %画出图形

图如下: 2、产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。 第二题的matlab源程序如下: R1=randn(8,6) %产生正态分布随机矩阵 R1 = 1.0933 -0.7697 1.5442 -0.1924 1.4193 0.2157 1.1093 0.3714 0.0859 0.8886 0.2916 -1.1658 -0.8637 -0.2256 -1.4916 -0.7648 0.1978 -1.1480 0.0774 1.1174 -0.7423 -1.4023 1.5877 0.1049 -1.2141 -1.0891 -1.0616 -1.4224 -0.8045 0.7223 -1.1135 0.0326 2.3505 0.4882 0.6966 2.5855 -0.0068 0.5525 -0.6156 -0.1774 0.8351 -0.6669 1.5326 1.1006 0.7481 -0.1961 -0.2437 0.1873 aver=(sum(R1(1:end,1:end)))./8 %产生各行的平均值 aver = 0.0768 0.1363 0.1022 -0.3473 0.4975 0.1044 a=std(R1(1:end,1:end)) %产生各行的均方差也就是标准差 a = 1.0819 0.8093 1.3456 0.8233 0.8079 1.2150 aver1=(sum(R1(:)))./48 %全体数的平均值 aver1 =

哈工大机械原理大作业_凸轮机构设计(第3题)

机械原理大作业二 课程名称:机械原理 设计题目:凸轮设计 院系:机电学院 班级: 1208103 完成者: xxxxxxx 学号: 11208103xx 指导教师:林琳 设计时间: 2014.5.2

工业大学 凸轮设计 一、设计题目 如图所示直动从动件盘形凸轮,其原始参数见表,据此设计该凸轮。 二、凸轮推杆升程、回程运动方程及其线图 1 、凸轮推杆升程运动方程(6 50π?≤ ≤) 升程采用正弦加速度运动规律,故将已知条件mm h 50=,6 50π =Φ带入正弦加速度运动规律的升程段方程式中得: ??? ?? ???? ??-=512sin 215650?ππ?S ;

?? ? ?????? ??-= 512cos 1601ππωv ; ?? ? ??= 512sin 1442 1?π ωa ; 2、凸轮推杆推程远休止角运动方程( π?π ≤≤6 5) mm h s 50==; 0==a v ; 3、凸轮推杆回程运动方程(9 14π ?π≤≤) 回程采用余弦加速度运动规律,故将已知条件mm h 50=,9 5'0π= Φ,6 s π = Φ带入余弦加速度运动规律的回程段方程式中得: ?? ? ???-+=)(59cos 125π?s ; ()π?ω--=59 sin 451v ; ()π?ω-=59 cos 81-a 21; 4、凸轮推杆回程近休止角运动方程(π?π 29 14≤≤) 0===a v s ; 5、凸轮推杆位移、速度、加速度线图 根据以上所列的运动方程,利用matlab 绘制出位移、速度、加速度线图。 ①位移线图 编程如下: %用t 代替转角 t=0:0.01:5*pi/6; s=50*((6*t)/(5*pi)-1/(2*pi)*sin(12*t/5)); hold on plot(t,s); t=5*pi/6:0.01:pi; s=50; hold on plot(t,s); t=pi:0.01:14*pi/9; s=25*(1+cos(9*(t-pi)/5));

数字信号处理的MATLAB实现

昆明理工大学信息工程与自动化学院学生实验报告 (2011—2012 学年第二学期) 课程名称:数字信号处理开课实验室:信自楼111 2012 年 5 月 31 日年级、专业、班生医学号姓 名 成绩 实验项目名称数字信号处理的matlab 实现指导教师 教 师 评语教师签名: 年月日 一.实验目的 熟练掌握matlab的基本操作。 了解数字信号处理的MATLAB实现。 二.实验设备 安装有matlab的PC机一台。 三.实验内容 .1.求信号x(n)=cos(6.3Пn/3)+cos(9.7Пn/30)+cos(15.3Пn/30),0≤n≤29的幅度频谱. 2. 用冲击响应不变法设计一个Butterworth低通数字滤波器,要求参数为: Wp=0.2Пαp=1dB Ws=0.3Пαs=15dB 3.用双线性变换法设计一个Chebyshev高通IIR滤波器,要求参数为: Wp=0.6Пαp=1dB Ws=0.4586Пαs=15dB 4.用窗函数法设计一个低通FIR滤波器,要求参数为: Wp=0.2Пαp=0.3dB Ws=0.25Пαs=50dB 5.用频率抽样法设计一个带通FIR滤波器,要求参数为: W1s=0.2П W1p=0.35П W2p=0.65П W2s=0.8П αs=60dB αp=1dB 6.根据 4 点矩形序列,( n ) = [1 1 1 1] 。做 DTFT 变换,再做 4 点 DFT 变换。然后分别补零做 8 点 DFT 及 16 点 DFT。 7.调用filter解差分方程,由系统对u(n)的响应判断稳定性 8编制程序求解下列系统的单位冲激响应和阶跃响应。 y[n]+ 0.75y[n -1]+ 0.125y[n -2] = x[n]- x[n -1] 四.实验源程序 1. n=[0:1:29]; x=cos(6.3*pi*n/30)+cos(9.7*pi*n/30)+cos(15.3*pi*n/30);

Matlab编程与应用习题和一些参考答案

Matlab 上机实验一、二 3.求下列联立方程的解???????=+-+-=-+=++-=--+4 1025695842475412743w z y x w z x w z y x w z y x >> a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10]; >> b=[4;4;9;4]; >> c=a\b 4.设???? ??????------=81272956313841A ,??????????-----=793183262345B ,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。 >> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8]; >> B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7]; >> C1=A*B' >> C2=A'*B >> C3=A.*B >> inv(C1) >> inv(C2) >> inv(C3) 5.设 ?? ????++=)1(sin 35.0cos 2x x x y ,把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线。 >> x=linspace(0,2*pi,101); >> y=cos(x)*(0.5+(1+x.^2)\3*sin(x)); >> plot(x,y,'r') 6.产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。 (mean var ) a=randn(8,6) mean(a) var(a) k=mean(a) k1=mean(k) i=ones(8,6) i1=i*k1 i2=a-i1 i3=i2.*i2 g=mean(i3) g2=mean(g)

机械原理课程设计Matlab编程

/*Matlab程序*/ l1 = 59.1000; l2 = 263.9000; l3=120; l4=266.83; l5=180; l6=45; x2=170; y2=132.7289; w1=9.4248; N=42:10:402; ay=119:10:479 a=2*l1*l3*sin(N/180*pi); b=2*l3*(l1*cos(N/180*pi)-l4); c=l2^2-l1^2-l3^2-l4^2+2*l1*l4*cos(N/180*pi); jiao3=2*atan((a- sqrt(a.^2+b.^2-c.^2))./ (b-c))/pi*180+77 g=2*l1*l2*sin(N/180*pi); h=2*l2*(l1*cos(N/180*pi)-l4); m=l1^2+l2^2+l4^2-l3^2-2*l1*l4*cos(N/180*pi); jiao2=2*atan((g- sqrt(g.^2+h.^2-m.^2))./ (h-m))/pi*180+77 lof=-sqrt(l6^2-x2^2-l5^2+2*l5*x2*cos((180+jiao3)/180*pi)+l5^2*sin(j iao3/180*pi).^2)+y2-l5* sin((180+jiao3)/180*pi)

j12=N-(jiao2-77); j32=jiao3-jiao2; j13=(N-(jiao3-77)); j23=(jiao2-jiao3); w3=(w1*l1*sin(j12/180*pi))./ (l3*sin(j32/180*pi)) w2=(-1*w1*l1*sin(j13/180*pi))./(l2*sin(j23/180*pi)) a3=(w1^2*l1*cos(j12/180*pi)+w2.^2*l2-(w3.^2).*(l3*cos(j32/180*pi)) )./ (l3*sin(j32/180*pi)) a2=(-w1^2*l1*cos(j13/180*pi)-(w2.^2).*(l2*cos(j23/180*pi))+l3*w3.^ 2)./ (l3*sin(j23/180*pi)) jiao4=acos((x2-l5*cos((180+jiao3)/180*pi))/l6)/pi*180 w4=((-l5*sin((pi+jiao3)/180*pi)).*w3)./ (l6*sin(jiao4/180*pi)) vof=((l5*sin((180+jiao3-jiao4)/180*pi)).*w3).* sin(jiao4/180*pi) aof=(l6*w4.^2+(l5*w3.^2).*(cos((180+jiao3-jiao4)/180*pi))+l5*a3.*si n((180+jiao3-jiao4)/180*pi))./sin(jiao4/180*pi) 作图程序: /*F点的位移*/ plot(N+77,lof,'-xk') xlabel('AB杆的角度'),ylabel('F点的位移/(mm)') title('F点的位移曲线图') text(100, 171.3339,'初始值= 171.3339')

相关文档
最新文档