IFFT - synteza sygnału na bazie jego widma
: 06 gru 2011 21:38
Witam wszystkich,
Pracując nad projektem w którym zastosować muszę odwrotną transformatę Fourriera do syntezy sygnału na bazie jego zmodyfikowanego widma natrafiłem na pewien problem. Żeby przybliżyć zagadnienie podaję opis algorytmu:
1. Wyznaczam widmo częstotliwościowe (Amplituda i Faza)
2. Modyfikuję amplitudy dla interesującej mnie częstotliwości ( w zamieszczonym przykładzie nie ma tego kroku - żeby nie zaciemniać ).
3. Konwertuję widmo do postaci składającej się z części rzeczywistej (Re) i urojonej (Im).
4. Z Re oraz Im tworzę liczbę zespoloną w postaci Re + Im*i.
5. Widmo będące już tablicą liczb zespolonych podaję do funkcji IFFT.
6. Buduję waveforma żeby "odzyskać" pierwotny sygnał.
Problemem jest to, że po zastosowaniu IFFT mam połowę mniej próbek i inną amplitudę. Nie świadczy to jednak o tym, że mam o połowę krótszy sygnał, ale wygląda to tak jakby jego próbkowanie zmniejszyło się o połowę.
Czy ktoś może zajmował się czymś podobnym?
W czym popełniam błąd?
Z góry dzięki za wszelkie rady,
Pozdrawiam
Daję screeny i VI (wymaga Sound & Vibration Toolkit)
Pracując nad projektem w którym zastosować muszę odwrotną transformatę Fourriera do syntezy sygnału na bazie jego zmodyfikowanego widma natrafiłem na pewien problem. Żeby przybliżyć zagadnienie podaję opis algorytmu:
1. Wyznaczam widmo częstotliwościowe (Amplituda i Faza)
2. Modyfikuję amplitudy dla interesującej mnie częstotliwości ( w zamieszczonym przykładzie nie ma tego kroku - żeby nie zaciemniać ).
3. Konwertuję widmo do postaci składającej się z części rzeczywistej (Re) i urojonej (Im).
4. Z Re oraz Im tworzę liczbę zespoloną w postaci Re + Im*i.
5. Widmo będące już tablicą liczb zespolonych podaję do funkcji IFFT.
6. Buduję waveforma żeby "odzyskać" pierwotny sygnał.
Problemem jest to, że po zastosowaniu IFFT mam połowę mniej próbek i inną amplitudę. Nie świadczy to jednak o tym, że mam o połowę krótszy sygnał, ale wygląda to tak jakby jego próbkowanie zmniejszyło się o połowę.
Czy ktoś może zajmował się czymś podobnym?
W czym popełniam błąd?
Z góry dzięki za wszelkie rady,
Pozdrawiam
Daję screeny i VI (wymaga Sound & Vibration Toolkit)