|
原帖由 dzkt 于 2010-7-1 15:02 发表
t=0:0.001:1;
x=sin(2*pi*30*t)+cos(2*pi*50*t);
plot(x,'b-');
X=fft(x);
dt=0.001;
N=length(x);
f=[0:N-1]/(N*dt);
figure(2)
plot(f,abs(X)*2/N)
% xlim([0 200]);
xlabel('fruquency')
ylabel('Ampl ...条件;(振幅谱减小一半,相位谱不变)
这样怎么来求得原信号,我求的好像不对,该怎么做啊?请高手指点一下,谢谢
LZ的是不是要求出时间信号,条件是振幅谱减小一半,相位谱不变?
如果是这样的要求,对上程序稍做改动为:
t=0:0.001:1;
x=sin(2*pi*30*t)+cos(2*pi*50*t);
plot(x,'b-'); hold on;
X=fft(x);
dt=0.001;
N=length(x);
f=[0:N-1]/(N*dt);
figure(2)
plot(f,abs(X)*2/N,'b');
xlabel('fruquency')
ylabel('Amplitude')
xlim([0 100])
s=abs(X)*2/N;
s1=s.*0.5;%振幅谱减小一半
w=angle(X);
S1=N/2*s1.*exp(j*w);
Y=ifft(S1);
figure(1)
plot(real(Y),'r-')
得到的图如下,可看出信号的振幅减小一半(原始信号是蓝线,红线是幅值减小一半的信号):
[ 本帖最后由 songzy41 于 2010-7-1 19:13 编辑 ] |
评分
-
1
查看全部评分
-
|