(1)首先产生信号x(n),0<=n<=50
n=0:50%定义序列的长度是50
A=444.128%设置信号有关的参数
a=50*sqrt(2.0)*pi
T=0.001%采样率
w0=50*sqrt(2.0)*pi%ω符号在MatLab 中不能输入,用w 代替
x=A*exp(-a*n*T).*sin(w0*n*T)%pi 是MATLAB 定义的π,信号乘可采用“.*”
close all %清除已经绘制的x(n)图形
subplot(3,1,1)stem(x)%绘制x(n)的图形
title(‘理想采样信号序列’)%设置结果图形的标题
(2)绘制信号x(n)的幅度谱和相位谱
k=-25:25
W=(pi/12.5)*k
X=x*(exp(-j*pi/12.5)).^(n’*k)
magX=abs(X)%绘制x(n)的幅度谱
subplot(3,1,2)stem(magX)title(‘理想采样信号序列的幅度谱’)
angX=angle(X)%绘制x(n)的相位谱
subplot(3,1,3)stem(angX) title (‘理想采样信号序列的相位谱’)
(3)改变参数为: 1, 0.4, 2.0734, 1 0 A = α = Ω = T =
n=0:50%定义序列的长度是50
A=1a=0.4w0=2.0734T=1%设置信号有关的参数和采样率T
x=A*exp(-a*n*T).*sin(w0*n*T)%pi 是MATLAB 定义的π,信号乘可采用“.*”
close all %清除已经绘制的x(n)图形
subplot(3,1,1)stem(x)%绘制x(n)的图形
title(‘理想采样信号序列’)
k=-25:25
W=(pi/12.5)*k
X=x*(exp(-j*pi/12.5)).^(n’*k)
magX=abs(X)%绘制x(n)的幅度谱
subplot(3,1,2)stem(magX)title(‘理想采样信号序列的幅度谱’)
angX=angle(X)%绘制x(n)的相位谱
subplot(3,1,3)stem(angX) title (‘理想采样信号序列的相位谱’)
2、单位脉冲序列
在 MatLab 中,这一函数可以用zeros 函数实现:
n=1:50%定义序列的长度是50
x=zeros(1,50)%注意:MATLAB 中数组下标从1 开始
x(1)=1close all
subplot(3,1,1)stem(x)title(‘单位冲击信号序列’)
k=-25:25
X=x*(exp(-j*pi/12.5)).^(n’*k)
magX=abs(X)%绘制x(n)的幅度谱
subplot(3,1,2)stem(magX)title(‘单位冲击信号的幅度谱’)
angX=angle(X)%绘制x(n)的相位谱
subplot(3,1,3)stem(angX) title (‘单位冲击信号的相位谱’)
3、矩形序列
n=1:50x=sign(sign(10-n)+1)
close allsubplot(3,1,1)stem(x)title(‘单位冲击信号序列’)
k=-25:25X=x*(exp(-j*pi/25)).^(n’*k)
magX=abs(X)%绘制x(n)的幅度谱
subplot(3,1,2)stem(magX)title(‘单位冲击信号的幅度谱’)
angX=angle(X)%绘制x(n)的相位谱
subplot(3,1,3)stem(angX) title (‘单位冲击信号的相位谱’)
4、特定冲击串
x(n) =δ (n) + 2.5δ (n ?1) + 2.5δ (n ? 2) +δ (n ? 3)
n=1:50%定义序列的长度是50
x=zeros(1,50)%注意:MATLAB 中数组下标从1 开始
x(1)=1x(2)=2.5x(3)=2.5x(4)=1
close allsubplot(3,1,1)stem(x)title(‘单位冲击信号序列’)
此程序只是读进了原始信号前N个点,remove mean, and transfer to Z unit,没有涉及任何采样。to 一楼
xdata=(xdata-mean(xdata))/std(xdata,1)
这句没啥大问题。去平均值然后归一而已。
如果你的N是表示你的数据长度而fs为采样频率的话,
那plot(1:N,xdata,'k')
这句改成
plot(1:N/fs,xdata,'k')
N/fs都不是整数,没法画图。。。
LZ应该给清楚你原文件是记录了多少时间t,一共多少个点p。
原文件一秒记录p/t个点,需要一秒采fs个点,把原文件downsampling p/t/fs 好了。
1、电脑上点击打开Matlab软件。
2、点击“新建脚本”新建一个脚本文件(m文件),在脚本文件中编写程序方便修改。
3、利用Matlab中的int函数对速度信号v(t)=2t积分,在脚本文件中输入程序如下图所示。
4、点击左上方的“保存”菜单。
5、在编辑器页面的上方工具栏中点击“运行”菜单。
6、接着在Matlab的命令窗口中就可以看到对速度信号的积分结果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)