产生一个100Hz 的正弦信号,对其进行Hilbert 变换,并产生其频谱图.用Matlab 如何编程.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 23:50:19
产生一个100Hz 的正弦信号,对其进行Hilbert 变换,并产生其频谱图.用Matlab 如何编程.
xN@EJD{I6"fW_mp\ƨ}*V UE*QDQ**x5a3̵Ͻc^]_x*kL2}}2K=q<8o 7+^հClfIޟ^pqvNZgl

产生一个100Hz 的正弦信号,对其进行Hilbert 变换,并产生其频谱图.用Matlab 如何编程.
产生一个100Hz 的正弦信号,对其进行Hilbert 变换,并产生其频谱图.用Matlab 如何编程.

产生一个100Hz 的正弦信号,对其进行Hilbert 变换,并产生其频谱图.用Matlab 如何编程.
N = 1024;       %样本数
fs = 1000;      %采样率
t = (0:N-1)/fs;
xn = sin(2*pi*100.*t);      %100Hz正弦信号采样
hxn = hilbert(xn);          %做希尔伯特变换

%比较频谱
X = fft(xn);
H = fft(hxn);
subplot(221);
plot(abs(X));title('原信号频谱幅值');
subplot(222);
plot(phase(X));title('原信号频谱相位')
subplot(223);
plot(abs(H));title('变换后频谱幅值')
subplot(224);
plot(phase(H));title('变换后频谱相位');