📄 samp3_1ex.m
字号:
%Samp3_1
clear all %将工作空间中的所有变量清除
N=256;dt=0.02; %数据的个数和采样间隔
n=0:N-1;t=n*dt; %序号序列和时间序列
x=sin(2*pi*t)+0.5*sin(2*pi*5*t); %信号加得到的合成信号
m=floor(N/2)+1; %分解a,b的最大序号值
a=zeros(1,m);b=zeros(1,m); %产生a,b两个为零的序列
for k=0:m-1
for ii=0:N-1
a(k+1)=a(k+1)+2/N*x(ii+1)*cos(2*pi*k*ii/N); %
b(k+1)=b(k+1)+2/N*x(ii+1)*sin(2*pi*k*ii/N); %
%MATLAB中的数组序号只能从1开始。
end
c(k+1)=sqrt(a(k+1).^2+b(k+1).^2); %
end
subplot(2,1,1),plot(t,x);title('原始信号'),xlabel('时间/s') %绘出时间域信号
subplot(2,1,2),plot(a) %绘出频率域信号,对应频率点用(3-17)给出
title('Fourier变换'),xlabel('频率/Hz'),ylabel('振幅')
%Samp3-1-2
if(mod(N,2)~=1)a(m)=a(m)/2; end
for ii=0:N-1
xx(ii+1)=a(1)/2;
for k=1:m-1
xx(ii+1)=xx(ii+1)+a(k+1)*cos(2*pi*k*ii/N)+b(k+1)*sin(2*pi*k*ii/N);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -