Các câu hỏi về mảng thực và ảo cho FFT thực hiện

I

invexed

Guest
Hi tất cả! Tôi Tring để làm cho một ứng dụng litte FFT tôi Tring với hình ảnh C + + đầu tiên và sau đó tôi sẽ cố gắng với trình biên dịch C vi điều khiển của tôi, tôi có một số câu hỏi ... Trước hết, nó có vẻ là cần thiết để có một mảng phức tạp với giá trị thực và ảo Tôi có một mảng với một tín hiệu lấy mẫu đầy đủ và tôi không biết chính xác những gì để làm với mình ... Tôi cần phải chuyển đổi mảng này để một mảng mới với phần thực và tưởng tượng? Làm thế nào tôi có thể làm điều này? FFT biến đổi có một phần thực và ảo quá cần tôi để chuyển đổi này đến một mảng mới để làm cho một đại diện đồ họa tôi đã tìm thấy một số nguồn FFT nhưng không hoàn thành tôi chỉ có chức năng FFT với một cái gì đó như thế này: FFT (fftLength, RealInput, ImaginInput RealOutput, ImaginOutput), tôi cần phải biết chính xác các bước để chuyển đổi một tín hiệu lấy mẫu thực sự vào một mảng thực Imaginary để làm cho một người FFT có thể giúp tôi? Cảm ơn
 
hi guy, nếu u cần phải thực hiện ustand FFT sau đó thử đầu với matlab.if u cần tôi có thể gửi u mã mẫu của tôi cho việc tìm kiếm 16 điểm FFT cho một tín hiệu phức tạp. thực hiện trong FFT, u cần phải làm việc với các yếu tố quay vòng tăng quyền hạn phù hợp trong mỗi stage.so trong khi sử dụng các yếu tố quay vòng chuyển đổi chúng để r * e ^ i (theta) hình thức chứ không phải là (a + i * b) hình thức kể từ khi lần đầu tiên hình thức sẽ dễ dàng hơn trong việc nâng cao quyền hạn cao hơn. u cant xem ur phức tạp values.u chỉ có thể xem độ lớn của họ trong c (tôi hy vọng như vậy).
 
Viswa!!! nếu bạn có thể gửi mã MATLAB của bạn, tôi sẽ thử nó .... Tôi có một số ví dụ FFT trong MATLAB nhưng tôi không thể xem làm thế nào để làm việc này: ---------------------------------- ------------------------------------------------ t = 1:200; sin1 = sin (2 * pi * 30/1000 * t); sin1c = abs (FFT (sin1)); x = [0,005: .005:1], âm mưu phụ (2,1,1), cốt truyện ('.' x, sin1c,), title ('DFT de la señal SIN1'); ----------------------------- -------------------------------------------------- --- Ở đây chỉ cần một tín hiệu lấy mẫu và và có được FFT mà không có vấn đề nhưng khi tôi sử dụng một chức năng C thực sự cần phần thực và tưởng tượng
 
Cung cấp dữ liệu thực sự thành một FFT phức tạp, chỉ cần sao chép dữ liệu thực tế của bạn thành phần thực của một mảng phức tạp, và thiết lập các phần tưởng tượng không. Một cách để hiển thị các kết quả FFT phức tạp để tính toán độ lớn của mỗi giá trị phức tạp, mag = sqrt (thực thực + IMAG * IMAG), và sau đó hiển thị những magnitues. Bạn cũng có thể muốn chuyển đổi độ lớn để decibel, dB = 20 * log10 (mag).
 
Tốt nhất xem các kết quả cố gắng sử dụng một số điểm mà là một sức mạnh của hai (64128, ...). Ex. fs = 1;% lấy mẫu freq fc = fs/16; freq đầu vào% s = sqrt (2) * sin (2 * pi/16 * (0:1023); lô (20 * log10 (abs (FFT (s)) / 1024)) Kính trọng, - rs
 
Nhờ echo47! Tôi đã cố gắng "mag = sqrt (thực * thực sự + IMAG * IMAG)" và nó hoạt động làm cho ABS (thực sự) nó làm việc quá nhưng tôi không chắc chắn nếu điều này là ok tôi đang cố gắng với một chức năng C và nó hoạt động có và không có một phần tưởng tượng! Làm cho một phần Imaginary = 0 y có một phổ trùng lặp và biên độ 1/2 là đúng?
 
Có, nếu bạn zero phần IMAG, sau đó có không có cách nào để phân biệt tần số tích cực từ các tần số tiêu cực, do đó, sản lượng từ một FFT phức tạp xuất hiện trùng lặp và được nhân đôi và một nửa biên độ của một tín hiệu phức tạp đầy đủ. Đơn giản chỉ cần bỏ qua nửa trên của mảng đầu ra (đó là phần tiêu cực, phần nào phản trực giác). Nếu bạn ăn một số phức tạp thành abs MATLAB () chức năng, tính sqrt (thực thực + IMAG * IMAG). Rất thuận tiện.
 
xin chào viswa .. i cần mẫu mã 16pt FFT thực hiện usng VHDL .. U plz có thể gửi e-mail ma id amithsanu@gmail.com ...? chúng tôi muốn thực hiện năm 1024 pt FFT trên fpga usng VHDL ... U có thể giúp tôi trong vấn đề này ..? Cảm ơn bạn .. :)
 

Welcome to EDABoard.com

Sponsor

Back
Top