📄 period.m
字号:
function p_out=period(input_x,data_length,Num_sec,Num_fft) %input_x为输入序列,data_length为数据长度,Num_fft为FFT输出点数,Num_sec为分段数
M=data_length/Num_sec;% M为每一段内的数据长度
input_x;
Pxx=zeros(Num_sec,Num_fft);%每一段内的数据数M,但进行FFT变换后,输出Num_ff个点数,共有Num_sec个周期图
p_out=zeros(1,Num_fft); %构造一个输出序列,初始化为0
for count=1:Num_sec %对于每一段进行操作
begin_pos=1+(count-1)*M;%进行FFT变换的序列的起始位置
end_pos=count*M; %进行FFT变换的序列的结束位置
temp_fft=fft(input_x(begin_pos:end_pos),Num_fft);%对该段内的数据进行FFT变换,输出点数为Num_ff
p_out=(abs(temp_fft)).^2/M+p_out;%对各段求得的功率谱密度进行累加
end
p_out=p_out./Num_sec;%对求得的各段数据功率谱密度进行平均
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -