對於matlab,我想生成一個hanning窗口序列,它們重疊50%以應用於我的輸入信號。對於窗口之間的重疊部分,我想讓它取平均值,例如(x + y)/ 2,然後只應用於我的信號。如何生成hanning窗口的平均值之間的平均值?謝謝。使信號平滑的窗口
Q
使信號平滑的窗口
0
A
回答
0
下面的腳本增加了轉向重疊50%的漢寧的Windows版本。除了第一個和最後一個窗口以外,所有窗口都按0.5縮放。第一個窗口的後半部分按0.5縮放,最後一個窗口的上半部分按0.5縮放。
% Length of input sequence
N = 600;
% Length of one Hanning window
L = 50;
% can be periodic or symmetric
sampling_flag = 'periodic';
all_windows = zeros(N, 1);
figure; hold all;
for k = 0:floor(2*(N-L)/L)
current_window = hann(L, sampling_flag);
if k == 0
current_window(L/2 + 1 : end) = current_window(L/2 + 1 : end) * 0.5;
elseif k == floor(2*(N-L)/L)
current_window(1 : L/2) = current_window(1 : L/2) * 0.5;
else
current_window = current_window * 0.5;
end
all_windows = all_windows + [zeros(k*L/2, 1); current_window; zeros(N - L - k*L/2, 1)];
plot([zeros(k*L/2, 1); hann(L); zeros(N - L - k*L/2, 1)]);
end
hold off;
figure;
plot(all_windows);
+0
我認爲這是我想要的。謝謝 – Thy
0
在Matlab中生成窗口時,可以添加'periodic'選項。 然後,如果你有50%的重疊,兩個連續的窗口將有他們的重疊等於1。 舉個例子,你可以嘗試:
w=hanning(100,'periodic');
x=w(1:50)+w(51:100);
unique(x)
ans =
1.0000
相關問題
- 1. 使用分層窗口創建平滑窗口邊界
- 2. maya關閉窗口信號
- 3. 如何在matlab上創建信號滑動窗口
- 4. jQuery - 水平滑塊與模態窗口
- 5. 窗口滾動平滑效果
- 6. 將平滑信號與輸入信號進行比較
- 7. Netbeans平臺簡單的窗口通信
- 8. 使編號轉換平滑
- 9. 滑動窗口使用R
- 10. 使用滑動窗口FFT
- 11. 使用滑動窗口
- 12. 窗口通知上的信號事件
- 13. 移動窗口中的信號功能
- 14. Qt主窗口菜單信號
- 15. 獲取窗口電話信號C#
- 16. opencv滑動窗口
- 17. rollapply滑動窗口
- 18. WPF滑動窗口
- 19. CustomControl滑動窗口
- 20. 滑動窗口seq
- 21. RxJava滑動窗口
- 22. 滑動窗口集
- 23. 舊窗口的信號處理程序被新的窗口信號處理程序取代GTK +
- 24. 序列號如何影響固定窗口大小的滑動窗口協議?
- 25. 靈活的滑動窗口(使用Python)
- 26. data.frame中列的基於時間的平均(滑動窗口)
- 27. 如何在8號窗口,8號窗口,使用html5的android中構建遊戲跨平臺?
- 28. 如何使用haskell處理窗口上的信號?
- 29. 用於平滑無線信號強度的算法
- 30. 如何在angular2中實現平滑的窗口滾動
'help hanning;幫助movavg;幫助意味着; –
您確定要取平均重疊部分嗎?這將在第一個和最後一個窗口的中間產生不連續性。 – Deve
是的,是否可以這樣做?或者我可以將信號分別乘以漢寧窗,並在乘以後得到平均值,但是如何將它們與平均值放在一個數組中。 – Thy