How can i restore complex numbers from abs(fft)?
1 次查看(过去 30 天)
显示 更早的评论
I made this function
{
function [y,AudioFft,fs,TimeDomain,FreqDomain] = ReadWavFile(filename)
[y,fs] = audioread(filename); %Load File
TimeDomain = 0:1/fs:(length(y)-1)/fs; % Time Domain
N = length(y); %wav file length
AudioFft = fft(y); % fft
AudioFft = AudioFft(1:N/2+1); %Deleting mirror image that was made by abs
FreqInterval = fs/N; % Frequency Interval
FreqDomain = 0:FreqInterval:fs/2; %Freq domain (deleted mirror image so fs/2)
end
}
I am making equalizer by matlab
I made the graph(x domain is Freq and y domain is amplitude(that was made by abs(AudioFft), exactly plot(FreqDomain,abs(AudioFft)) that changed by moving of sliderbar of gui
I want to play sound that changed by moving of slider bar
So I think I have to restore abs and return to Time domain by ifft to use sound function(sound(y,fs)).
How can i do?
In short, How can i restore complex number?
0 个评论
采纳的回答
dpb
2016-11-28
"In short, How can i restore complex number?"
In short, "you can't" once you've thrown away the separate magnitude and phase, it's lost irretrievably. "Don't do that!"
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spectral Measurements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!