方波的意义
如何在Matlab中生成方波
f=10;% 正弦波频率(Hz) 过采样率=30;% 过采样率 fs=过采样率*f;% 采样频率 duty_cycle=50;% 占空比为50%的方波(默认) nCyl=5;% 生成五个正弦波周期 t=0:1/fs:nCyl*1/f;% 时间基准 x=平方(2*pi*f*t,duty_cycle);% 产生方波 图(t,x,‘k’); 标题([‘方波f=',num2str(f),‘Hz’]); xlabel(“时间”); ylabel(“振幅”);
使用FFT的功率谱密度
单面功率谱密度
X=fft(X,NFFT); X=X(1:NFFT/2+1);% NFFT/2后抛出样本进行单面打印 Pxx=X.*conj(X)/(NFFT*L); f=fs*(0:NFFT/2)/NFFT;% 频率矢量 图(f,10*log10(Pxx),‘r’); 标题(“单面功率谱密度”); xlabel(“频率(Hz)”) ylabel(“功率谱密度-P_{xx}dB/Hz”); ylim([-45-5])
双面功率谱密度
L=长度(x); NFFT=1024; X=fftshift(fft(X,NFFT)); Pxx=X.*conj(X)/(NFFT*L);% 具有适当缩放的计算能力 f=fs*(-NFFT/2:NFFT/2-1)/NFFT;% 频率矢量 图(f,10*log10(Pxx),‘r’); 标题(“双面功率谱密度”); xlabel(“频率(Hz)”) ylabel(“功率谱密度-P_{xx}dB/Hz”);