IFFT on padded vector with zeros
显示 更早的评论
hello,
I have a vector that padded with zeros and I want to perform IFFT on this vector, as follows: [ 1 2 3 4 0 0 0 . . . 0 0 4 3 2 1] In that case, do I need to multiply IFFT with scaling factor?
Thanks,
回答(2 个)
You might have to scale by a length-dependent factor, depending on what it is you're trying to preserve. For example, if you want to satisfy Parseval's theorem, you have to scale by sqrt(length(x)),
>> x1=[ 1 2 3 4 4 3 2 1];
>> x2=[ 1 2 3 4 0 0 0 0 4 3 2 1];
>>
>> y1=ifft(x1)*sqrt(length(x1));
>> y2=ifft(x2)*sqrt(length(x2));
>> [norm(x1), norm(y1)] %Parseval satisfied
ans =
7.7460 7.7460
>> [norm(x2), norm(y2)] %Parseval satisfied
ans =
7.7460 7.7460
类别
在 帮助中心 和 File Exchange 中查找有关 Fixed-Point Design 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!