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

 
 
> Вопрос по алгоритму генерации синуса.
inco
сообщение Jan 28 2009, 12:07
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 26-08-05
Из: Российская Империя
Пользователь №: 7 984



Есть такой проектик скачанный с opencores генратор синуса

`timescale 1ns / 1ps

module sin(
input reset, // async reset
input clock, // input clock
output [15:0] sin, // sin output: signed, 16-bit
output [15:0] cos, // cos output: signed, 16-bit
output sin_sqr, // sign(sin)
output cos_sqr // sign(cos)
);

parameter width = 16;
parameter InitCos = 32640;

reg [width-1:0] sin1, cos1;

always @(posedge clock, posedge reset) begin
if(reset) begin
sin1 <= 0;
cos1 <= InitCos;
end
else begin
sin1 <= sin;
cos1 <= cos;
end
end

//the computator
assign sin = sin1 + {{7{cos1[15]}}, cos1[15:7]};
assign cos = cos1 - {{7{sin[15]}}, sin[15:7]};

//sign
assign sin_sqr = !sin[15];
assign cos_sqr = !cos[15];

endmodule

Очень уж заманчивая реализация всего 40 ячеек на cyclone 3
Никто не знает что за алгоритм?

При частоте квантования 100 МГц частота синуса получается около 124 килогерц!
Как бы это дело пересчитать под нужную частоту например 400 Гц?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:56
Рейтинг@Mail.ru


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