buptcxy 发表于 2009-5-4 16:05

A = zeros(Winsiz/2+1 , n);

新手求助 下了一个画语谱图的程序。 前面几句如下
Winsiz = 256;
Shift = 32;
Base = 0;
= wavread('E:\1.wav');
n = floor((length(Sg) - Winsiz)/Shift)+1;%总的帧数
A = zeros(Winsiz/2+1 , n);
想问下从wav文件中提取出的sg要放入A中,A的大小比sg大的挺多的~A的大小是怎么确定的,
为什么是窗长的一半 乘以 帧数呢~
呵呵 我是第一次做这个 ,不太懂 ,希望大牛解答

ChaChing 发表于 2009-5-4 16:23

感觉LZ未说明白

buptcxy 发表于 2009-5-4 16:31

回复 沙发 ChaChing 的帖子

我就想问问A的大小怎么定的~
因为比A肯定比sg大么~但是大多少怎么确定的呢~A = zeros(Winsiz/2+1 , n); 怎么来的

ChaChing 发表于 2009-5-4 16:50

回复 板凳 buptcxy 的帖子

首先谁知道LZ的A是要做什麽? LZ未说明白! 难道又不是LZ的程式?
看LZ问A的大小怎么定的, 真无言! 即然未说明白, 又只能猜测了!
Winsiz可能是fft长度, Winsiz/2+1为有效频率, n为总的帧数
也就是同一笔信号, 重复使用overlape! 先去信号处理版块看看
页: [1]
查看完整版本: A = zeros(Winsiz/2+1 , n);