Buncle

Измерение Частоты

27 сообщений в этой теме

Buncle    1

Всем привет у меня такой вопрос , как можно измерить частоту входного сигнала , и в зависимости от частоты вызывать разные подпрограммы . ( нужно для цмп )

Заранее спасибо . :rolleyes:

Язык ассемблер .

Изменено пользователем Buncle

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость EXISTER-666   
Гость EXISTER-666

тебе нужно селективное реле .ачастота звуковая?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Buncle    1

Да , частота звуковая , и мне нужно селективное реле . :D

Изменено пользователем Buncle

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость EXISTER-666   
Гость EXISTER-666

принцип действия прост :несколько контуров настроеных на нужные частоты,усилитель и управляющие цепи . была гдето схема старая от игрушки управляемой при помощи дудочки...(нота - команда) найду выложу .....но вот как связать это дело с компом увы не знаю

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

Buncle    1

Так мне-же нужно на МК сделать , а то что вы сказали мне совершенно не подходит . Хочу сделать стробоскопическую СДУ на светодиодах . А эта картинка в книге Борисова " Юный радиолюбитель " .

Изменено пользователем Buncle

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5
Так мне-же нужно на МК сделать , а то что вы сказали мне совершенно не подходит

Я так понимаю тебя хардовые схемы не интересуют? Обязательно математику надо?

Тогда берешь сигнальный процессор, вычисляешь спектр сигнала (надеюсь с преобразованиями Фурье знаком), дальше все совсем просто :)

Вот только будешь-ли ты для СДУ сигнальник покупать?

А на простеньких МК строить фильтры не очень приятно, хотя конечно возможно все, при очень большом желании.

Измерить частоту входного сигнала даже для простейших МК не проблема, вот только в музыке чистого сигнала ты не найдешь, там сразу куча частот прется :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Buncle    1

Так пусть и прётся , от этого только красивие будет .

Как можно измерить частоту входного сигнала , и в зависимости от частоты вызывать разные подпрограммы , без дополнительных " сигнальных процессоров " ?

Изменено пользователем Buncle

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Если взять простой сигнал одной частоты, то все очень просто

Для медленных сигналов:

Возьмем например переход напряжения из "-" в "+"

Легко выявить переход сигнала через "0", особенно аппаратными средствами под названием компаратор

Сбрасываем таймер в момент этого перехода

Выявив следующий такой-же переход смотрим сколько-же там таймер насчитал.

Соответственно мы получили период сигнала в "тиках" таймера

Зная период следования "тиков" таймера (мы их задаем кварцем процессора) и число этих "тиков" мы без труда вычисляем период измеряемого сигнала. А зная период мы уже можем осуществить переход по подпрограммам.

Или вычислить частоту из периода, если это надо.

Для быстрых сигналов:

Для простоты берем тот-же переход через "0"

Настраиваем таймер на 1 секунду.

Сбрасываем счетчик внешних импульсов и таймер.

Когда таймер отсчитает секунду, смотрим сколько насчитал счетчик.

Это число и будет искомая частота.

Можно мерить не секунду а меньше, но тогда точность упадет.

Когда мы имеем дело со сложными сигналами, то там разобраться что к чему относится простейшим методом не получается. Открой програмку звукозаписи и посмотри во что она музыку превращает.

Соответственно тут поступают так.

Оцифровывают сигнал, т.е. получают его образ.

И потом пытаются вычислить его спектр, т.е. сколько какой частоты в этом сигнале присутствует.

При вычислении спектра придется не только Фурье помянуть, но и многих других великих математиков.

Отдельно упоминаются преподы вышки и матана.

В принципе вычисление спектра можно сделать на любом процессоре, но сигнальные процессоры в своем составе имеют сложное ядро с кучей математических команд, с помщью которых математику писать намного проще и веселее.

Изменено пользователем Migray

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ВВЛ    3

Господин EXISTER-666 наверное имел в виду вот так:

post-18649-1185453158_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Похоже на то, вот только проц при этом не нужен, можно сразу на исполнительные механизмы выдавать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Buncle    1

Извините пожалуйста , можёт я не совсем правильно задал вопрос . Если описать готовое устройство , то это описание звучит так : есть один МК - АТ89С2051 , на одну из его 20 ножек , с микрофонного усилителя подаётся сигнал звуковой частоты а контроллер АТ89С2051 , в котором имеется два 16 разрядных таймера-счётчика должён одним из них формировать импульсы , частота которых зависит от частоты входного сигнала , а другим считать их , и передавать то что он сосчитал МК , а тот в свою очередь , в зависимости от количества подсчитанных импульсов должен вызывать одну из трёх очень похожих друг на друга подпрограмм . Эти подпрограммы являются генератороми импульсов для светодиодного стробоскопа , и отличаются только теми портами на которые подцеплены светодиоды ( красные , синие , зелёные ) . Как это сделать программно ???

П.С Целая поэма получилась :)

Изменено пользователем Buncle

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
wowa    4

Ну :) Если думаете что всё ТАК просто то - как говорится - флаг вам в руки!! У 2051 нехватит мощьности на один канал - неговоря о трёх.. Всё-таки подумайте о тех фильтрах которые предлагали выше... Фильтр то может быть элементарный - пару конденсаторов и катушек... на выход фильтра тригер шмидта и на вход проца - там уже можно сделать дополнительные эффекты... Да и ещё - 2051 кажись неимеет на борту АЦП... У него кажись есть только один компаратор и тот насколько я помню - очень неточный....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Buncle    1

У всех портов АТ89С2051 есть встроенные тригеры Шмидта .

Изменено пользователем Buncle

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Buncle    1
Извините пожалуйста , можёт я не совсем правильно задал вопрос . Если описать готовое устройство , то это описание звучит так : есть один МК - АТ89С2051 , на одну из его 20 ножек , с микрофонного усилителя подаётся сигнал звуковой частоты а контроллер АТ89С2051 , в котором имеется два 16 разрядных таймера-счётчика должён одним из них формировать импульсы , частота которых зависит от частоты входного сигнала , а другим считать их , и передавать то что он сосчитал МК , а тот в свою очередь , в зависимости от количества подсчитанных за определённый промежуток времени импульсов должен вызывать одну из трёх очень похожих друг на друга подпрограмм . Эти подпрограммы являются генератороми импульсов для светодиодного стробоскопа , и отличаются только теми портами на которые подцеплены светодиоды ( красные , синие , зелёные ) . Как это сделать программно ???

П.С Целая поэма получилась :)

Тоесть никто не знает как это сделать ? Эта конструкция будет повторятся пару десятков раз , и по этому не желательно приспосабливать дополнительные детали , так как это повлияет на стоимость , и размеры печатной платы ! А сложность программы особого значения не имеет .

Изменено пользователем Buncle

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5
Тоесть никто не знает как это сделать ? Эта конструкция будет повторятся пару десятков раз , и по этому не желательно приспосабливать дополнительные детали , так как это повлияет на стоимость , и размеры печатной платы ! А сложность программы особого значения не имеет .

Да посмотри ты наконец на реальный сигнал.

Нет там красивой ровной синусоиды, с которой можно работать простейшими методами.

И не помогут триггеры Шмидта на таком сигнале.

А на счет сложности программы ...

Та что потребуется для сигнала смешанного из разных частот, в АТ89С2051 не влезет.

И я не уверен, что тебе удастся такую написать, про обработку сигналов ты ничего не знаешь, да и о высшей матиматике похоже только слышал, что есть такая наука.

Изменено пользователем Migray

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
aen    1
Тоесть никто не знает как это сделать ?

Извини, не выдержал. :ph34r:

...

Это ты не понимаешь. Тебе не один раз сказали, что звук, это целая свалка разных частот и что бы оценить каких частот больше или меньше их сначала нужно выделить, а потом оценивать. Вот тогда и пригодится твой ассемблер.

А то, что хочешь ты, тут мозгов предлагаемого тобой процессора не хватит, а того у которого хватит, будет делать это с задержкой недопустимой для твоей цветомузыки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5
А то, что хочешь ты, тут мозгов предлагаемого тобой процессора не хватит, а того у которого хватит, будет делать это с задержкой недопустимой для твоей цветомузыки.

Ну почему-же, БлэкФин от АналоговыхДевайсов простенькую видеообработку тянет, и на СДУ задержек не будет, видимых глазу. Вот только стоит он баксов 50, да и ядро посложнее 51-го будет

Изменено пользователем Migray

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Buncle    1

Понятно , извините :unsure:

А можно сюда как-нибудь АЦП приспособить ?

Изменено пользователем Buncle

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

АЦП тебе естественно потребуется, процессор аналоговый сигнал считать не умеет.

Сначала оцифровываеешь, потом считаешь.

Вот только считать все равно много придется, звук вещь не простая.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
aen    1
БлэкФин от АналоговыхДевайсов простенькую видеообработку тянет, и на СДУ задержек не будет, видимых глазу.

В этих вопросах я по сравнению с Вами слабак, но думаю, что общая мысль у меня не особо ложна.

Понятно, что если задаться целью, "любыми средствами".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5
В этих вопросах я по сравнению с Вами слабак, но думаю, что общая мысль у меня не особо ложна.

В обработке сигналов я тоже не очень силен, мне лучше таймеры там, порты, работа на силовые ключи, т.е. что к железу поближе. На ADSP своих проектов у меня и нет, отдельные модули только.

А всякую математику, интерфейсы всегда жена писала, я только так, немного нахватался

Изменено пользователем Migray

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5
http://www.masterkit.ru/info/newshow.php?num=1629

А вы говорили нельзя :)

У кого нибудь есть мысли о тексте программы ?

Надо посмотреть, исходник найти.

Хотя далеко не все конструкции мастеркита работоспособны.

Но если там вдруг найдется что-то стоящее, постараемся запомнить, учиться никогда не поздно.

Вот прошивка аналогичной штуки , но она для AVR :(

У кого-нибудь есть идеи на счёт АТ89С2051 ?

Как и предполагалось, прога для однотонального сигнала.

Но алгоритм простой, перелопатить с одного ядра на другое - не проблема.

Дерзай, посмотришь на результат, поймешь о чем тебе толковали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Buncle    1

Почему-то на схеме нарисована АТ89С2051 , а в журнале прошивка для АVR . Hасчёт работоспособности - я сам видео демонстрации работы видел .

Если честно , я в AVR полное бревно .

Изменено пользователем Buncle

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас