如何在matlab中以数学方式将窗口函数应用于信号?

时间:2017-08-15 07:14:14

标签: matlab plot discrete-mathematics

我目前正试图制作一个窗口信号图。该图目前是用乳胶制作的,但似乎无法重新创建乳胶中matlab生成的图。

   %% Time specifications:
   Fs = 8000;                   % samples per second
   dt = 1/Fs;                   % seconds per sample
   StopTime = 60;             % seconds
   t = (0:dt:StopTime-dt)';     % seconds
   %% Sine wave:
   Fc = 60;                     % hertz
   x = sin(0.9*pi*t) + sin(0.42*pi*t);
   %x = cos(2*pi*Fc*t) + cos(2*pi*Fc*5*t)+ sin(2*pi*Fc*10*t);
   % Plot the signal versus time:
   figure;
   %plot(t,x);
   %xlabel('time (in seconds)');
   %title('Signal versus Time');
   %zoom xon;
   %%
   window = hamming(length(t),'periodic');
   %plot(window)
   windowed = x.*window; 
   plot(windowed)

这会产生这样的情节

enter image description here

但是当我试图在 matlab 中重新创建情节时......我得到了一些与众不同的东西。

我正在密谋的是:

w= sin(0.9*pi*t) + sin(0.42*pi*t)*0.54 - 0.46*( cos(360*t/600))
plot(w)

第一部分是信号*窗口=窗口信号...... 而我得到的就是这个..

enter image description here

为什么这么不同......我做错了什么?

1 个答案:

答案 0 :(得分:2)

我看到你的表情中有两个错误。首先,你会错过窗口函数周围的括号,然后在cos项中有错误的句点。试试

 w = (sin(0.9*pi*t) + sin(0.42*pi*t)).*(0.54 - 0.46*( cos(2*pi*t/t(end))));