implemest função trigonométrica para FFT

C

cheninbar1

Guest
oi, eu preciso implementar FFT em VHDL. i dont knoe como implementar expressão e ^ (-i * 2 * pi * k / N). i pode implementá-lo assim ou eu deveria trasform esta expressão para funtion trigonomeric: cos (-i * 2 * pi * k / N) - i * sin (-i * 2 * pi * k / N)? Vou appriciate sua ajuda!
 
Você pode querer dar uma olhada trabalho semelhante aa que eu fiz em SystemC: FFT sistema de projeto C - 8 pontos usando o algoritmo FFT DIT [url = http://bknpk.no-ip.biz/my_web/SC_fft/FFT_8_points_DIT/FFT_8_points_DIT_a. html] VHDL, Verilog, design, verificação, scripts url, ...[/]
 
Obrigado. mas eu preciso de algo que trabalhar para uso geral. Obrigado pelo link para o seu site, mas infelizmente eu não poderia encontrar qualquer coisa útil. você pode me enviar a versão vhdl do 8 pontos FFT por favor? graças chen inbar
 
mas eu preciso de algo que trabalhar para uso geral.
O que você quer dizer com o propósito geral a este respeito? Um bloco FFT em VHDL pode ser esperado para ter um tamanho fixo, e, assim, a tabela necessária pode ser calculada em tempo de compilação. Pode ser executado em VHDL código usando bibliotecas ieee.math_real.
 
eu não posso usar nos tipos biblioteca real e real, porque a sua não sinthesable. eu sei que e ^ (z) = cos (z) + isin (z) então me diga como posso implementar isso por favor.
 
você pode usar tipos reais para criar constantes e genéricos. Então você não pode usá-los em tempo de execução de código para a síntese, mas você pode configurar constantes com eles. por exemplo.
Code:
 tipo sin_table_t é array (0-1023) sfixed (0 downto -15); função sin_table_t retorno set_sin_table é variável ret_table: sin_table_t; begin for i in 0-1023 laço ret_table (i): = (to_sfixed (real (i ) * MATH_PI) / 1024,0, 0, -15); end loop; retorno ret_table; função final set_sin_table; - Este olhar para tabela tem 1024 pontos do pecado 0 - PI constante SIN_TABLE: sin_table_t: = set_sin_table;
 
sabe que e ^ (z) = cos (z) + isin (z) então me diga como posso implementar isso por favor
Você foi pedir um FFT de implementação, que não é valorizada pelo método de cálculo complexas trigonométricas em tempo de execução.
 
Se você está fazendo isso como um exercício acadêmico, pergunte ao seu instrutor / tutor / professor para obter ajuda. Se você está fazendo isso para um projeto real, é só usar o núcleo FFT fornecidas pelo seu fornecedor de ferramentas. Xilinx fornecer um núcleo FFT perfeitamente bom, eu tenho certeza que todos os outros fazem, também.
 
hey, TrickyDicky eu achei seu código muito útil. mas eu não entendia o que o array real representa? quais são os valores de real (i)? obrigado
 
que biblioteca eu deveria usar? math_real é bom? e posso sintetizá-lo?
 
Ok. Então, o que eu preciso para colocar em vez do real (i) para fazer o pecado creat função e ser capaz de sintetizados?
 
Um estado da implementação FFT arte não precisa de um pecado synthesizable () função, como mencionado anteriormente. Não está claro o que você wan para conseguir.
 

Welcome to EDABoard.com

Sponsor

Back
Top