⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test2.m

📁 按时域采样,经过FFT算法后,画出其频谱特性
💻 M
字号:
clc; 
clear all; 

%输入f、N、T、是否补零(补几个零) 
f=input('Input frequency of the signal: f\n'); 
N=input('Input number of pointsl: N\n'); 
T=input('Input sampling time: T\n'); 
flag=input('Add zero too sampling signal or not? yes=1 no=0\n'); 
if(flag) 
ZeroNum=input('Input nmber of zeros\n'); 
else 
ZeroNum=0; 
end 

%生成信号,signal是原信号。signal为采样信号。 
fs=1/T; 
t=0:0.00001:T*(N+ZeroNum-1); 
signal=sin(2*pi*f*t); 
t2=0:T:T*(N+ZeroNum-1); 
signal2=sin(2*pi*f*t2); 
if (flag) 
signal2=[signal2 zeros(1, ZeroNum)]; 
end 

%画出原信号及采样信号。 
figure; 
subplot(2,1,1); 
plot(t,signal); 
xlabel('Time(s)'); 
ylabel('Amplitude(volt)'); 
title('Singnal'); 
hold on; 
subplot(2,1,1); 
stem(t2,signal2,'r'); 
axis([0 T*(N+ZeroNum) -1 1]); 


%作FFT变换,计算其幅值,归一化处理,并画出频谱。 
Y = fft(signal2,N); 
Pyy = Y.* conj(Y) ; 
Pyy=(Pyy/sum(Pyy))*2; 
f=0:fs/(N-1):fs/2;4 
subplot(2,1,2); 
bar(f,Pyy(1:N/2)); 
xlabel('Frequency(Hz)'); 
ylabel('Amplitude'); 
title('Frequency compnents of signal'); 
axis([0 fs/2 0 ceil(max(Pyy))]) 
grid on; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -