реклама на сайте
подробности

 
 
> попытка создания спектроанализатора, XC3S250E-208 и ТФТ 480х234
andreichk
сообщение Dec 29 2012, 21:32
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 507
Регистрация: 15-04-06
Из: Германия
Пользователь №: 16 143



Привет народ. Вот вымучил ФФТ на корке , получилось что-то похожее на спектр. Во всяком случае на изменение частоты реагирует переползанием пиков сигнала по экрану. Только вот никак не соображу, как сделать так, чтобы пики сигнала располагались только сверху, а не вращались как умалишённые вверх-вниз.
http://www.youtube.com/watch?v=Vy1yDr5oZU8...eature=youtu.be

прилагаю куски кода по частям.
1. корка ФФТ в ИЗЕ

Код
reg [8:0]xn_re;
always @ (posedge CLK_A)
xn_re <= signal;

FFT FFT_A (
  .clk(CLK_A),         // input clk
  .start(1),           // input start
  .unload(1),          // input unload
  .xn_re(xn_re[8:0]),  // input [8 : 0] xn_re min+max
  .xn_im(0),           // input [8 : 0] xn_im
  .fwd_inv(1),         // input fwd_inv
  .fwd_inv_we(1),      // input fwd_inv_we
  .rfd(rfd),           // output rfd
  .busy(busy),         // output busy
  .dv(dv),             // output dv
  .xk_re(xk_re),       // output [8 : 0] xk_re
  .xk_im(xk_im)        // output [8 : 0] xk_im
);


далее блок математики , в котором сигналы с ФФТ обрабатываются и выводятся далее на экран

Код
wire [8:0]out_math;
math math (// математика
          .clk(CLK_A),
             .dv(dv),
          .real_(xk_re),
          .imaginary(xk_im),
          .out_(out_math)
         );

и собственно сама математика

Код
module math (
input clk,
input dv,
input [7:0]real_,
input [7:0]imaginary,
output reg[9:0]out_
);
wire [15:0] real_re;
wire [15:0] imaginary_;
//модуль комплексного числа.    
multiplexor m_re (
  .clk(clk), // input clk
  .a(real_), // input [7 : 0] a
  .b(real_), // input [7 : 0] b
  .ce(dv),  
  .p(real_re) // output [15 : 0] p
);
multiplexor m_im (
  .clk(clk),     // input clk
  .a(imaginary), // input [7 : 0] a
  .b(imaginary), // input [7 : 0] b
  .ce(dv),  
  .p(imaginary_) // output [15 : 0] p
);
reg [16:0] summe;
always @ (posedge clk)
begin
summe <= real_re[15:0] + imaginary_[15:0];
end
wire [8:0]out_m;
sqrt sqrt (
  .clk(clk), // input clk
  .ce(dv),
  .x_in(summe), // input [15 : 0] x_in
  .x_out(out_m) // output [8 : 0] x_out
);
//------------------------ ищем max ----------------------------------
wire [8:0] max = (dv == 1'b1) ? 1'b1: (( max < out_m ) ?  out_m : 1'b1);    
//----------------------- нормировка по max
wire [8:0] max_2;  
divider d_max (
    .clk(clk),         // input clk
    .ce(dv),           // input ce
    .dividend(max),    // input [8 : 0] dividend
    .divisor(2),       // input [8 : 0] divisor
    .fractional(max_2) // output[8 : 0] fractional
    );
wire [8:0] res;      
divider d_res (
    .clk(clk),       // input clk
    .ce(dv),         // input ce
    .dividend(out_m),// input [8 : 0] dividend
    .divisor(max_2), // input [8 : 0] divisor
    .fractional(res) // output[8 : 0] fractional
    );

always @ (posedge clk)
begin
      out_ <= res[7:0] - 118;//двигаем по высоте. меньше - выше
end

endmodule

поскажите, что надо сделать, чтобы устранить это вращение.Спасибо заранее и всех с наступающим Новым годом ! santa2.gif


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
andreichk
сообщение Jan 1 2013, 16:41
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 507
Регистрация: 15-04-06
Из: Германия
Пользователь №: 16 143



да вот собственно входная часть, никаких спецфильтров, только ОУ и всё. в коде тоже нет никакой цифровой фильтрации, окон и всего того, что в принципе там должно быть. я пока ещё далёк от правильного понимания построения правильных измерительных приборов.Сьём данных,согласно графикам из даташита на корку ФФТ


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- andreichk   попытка создания спектроанализатора   Dec 29 2012, 21:32
- - Xenia   Действительную и мнимую части надо не суммировать ...   Dec 29 2012, 22:06
- - andreichk   а вы разве не заметили? вот извлечение кв.корня из...   Dec 29 2012, 22:15
|- - Xenia   Цитата(andreichk @ Dec 30 2012, 02:15) а ...   Dec 29 2012, 22:36
- - andreichk   Простите, я по ходу вас неверно понял. Вы хотели с...   Dec 29 2012, 22:44
|- - Xenia   Цитата(andreichk @ Dec 30 2012, 02:44) Пр...   Dec 29 2012, 22:50
- - andreichk   блин, как это я проглядел? теперь я на распутье ил...   Dec 29 2012, 22:56
|- - Xenia   Цитата(andreichk @ Dec 30 2012, 02:56) бл...   Dec 29 2012, 23:08
- - andreichk   вымучил наконец   Dec 30 2012, 02:18
- - RobFPGA   Приветствую! Вы вобще то не сосвсем коректно ...   Dec 30 2012, 12:40
- - andreichk   в последней интерпретации я вообще исключил извлеч...   Dec 30 2012, 17:25
|- - Lmx2315   QUOTE (andreichk @ Dec 30 2012, 21:25) Хо...   Dec 30 2012, 17:47
||- - andreichk   Цитата(Lmx2315 @ Dec 30 2012, 18:47) ..не...   Dec 30 2012, 18:01
|||- - Lmx2315   QUOTE (andreichk @ Dec 30 2012, 22:01) сп...   Dec 30 2012, 18:08
||- - Flood   Цитата(Lmx2315 @ Dec 30 2012, 21:47) ..не...   Dec 30 2012, 21:36
|- - MaverickDSP   Цитата(andreichk @ Dec 30 2012, 20:25) пр...   Jan 10 2013, 12:32
|- - andreichk   Цитата(MaverickDSP @ Jan 10 2013, 13:32) ...   Feb 2 2013, 09:53
- - andreichk   RROR:HDLCompilers:87 - "math.v" line 86 ...   Dec 30 2012, 18:09
|- - Lmx2315   QUOTE (andreichk @ Dec 30 2012, 22:09) RR...   Dec 30 2012, 19:19
|- - compoa   Цитата(andreichk @ Dec 30 2012, 22:09) RR...   May 23 2013, 04:11
- - andreichk   будем считать это новогодней шюткой   Dec 30 2012, 21:50
- - novchok   Мне просто интересно, а как сигнал вводится в сист...   Jan 1 2013, 15:11
|- - Uuftc   Цитата(andreichk @ Jan 1 2013, 20:41) да ...   Jan 10 2013, 15:14
- - novchok   Спасибо, схема интересная, единственное, чего могу...   Jan 1 2013, 18:28
- - andreichk   ну дык скоп , да и спектр тоже, более , чем на 10-...   Jan 1 2013, 19:55
|- - Timmy   Входную часть я бы делал примерно так: Грубый/тон...   Jan 2 2013, 07:40
- - Aner   Если счетные ресурсы есть, то фильтровать по анало...   Jan 10 2013, 18:31
|- - Uuftc   Цитата(Aner @ Jan 10 2013, 22:31) Если сч...   Jan 10 2013, 19:20
|- - Victor®   Цитата(Uuftc @ Jan 10 2013, 23:20) Очень ...   Feb 2 2013, 16:14
- - andreichk   Народ, для загрузки скопа в припаянную к спартану ...   Feb 4 2013, 13:04
|- - a123-flex   Цитата(andreichk @ Feb 4 2013, 16:04) Нар...   Feb 4 2013, 14:01
- - Kuzmi4   2 andreichk Глянул одним глазом на проект - сложил...   Feb 4 2013, 14:18
- - andreichk   немного поковыряли сами и обнаружили следующее: пе...   Feb 4 2013, 15:09
- - andreichk   проблема решена заменой кварца на на 60 МГц. перес...   Feb 5 2013, 16:30
- - andreichk   мне кажется , что я уже писал, что не занимаюсь да...   May 25 2013, 11:49
- - compoa   Цитата(andreichk @ May 25 2013, 15:49) мн...   May 26 2013, 12:29


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01396 секунд с 7
ELECTRONIX ©2004-2016