|
|
 |
Ответов
(1 - 53)
|
Apr 17 2011, 02:31
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 16-04-11
Пользователь №: 64 408

|
1. И. С. Гоноровский Радиотехнические цепи и сигналы дрофа 2006 г. с. 547
|
|
|
|
|
Apr 17 2011, 14:21
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
Спасибо, нашёл, разобрался...может кто подскажет на счёт оконной функции?
|
|
|
|
|
Apr 19 2011, 09:29
|
Участник

Группа: Свой
Сообщений: 74
Регистрация: 29-11-08
Из: санкт-петербург
Пользователь №: 42 061

|
про оконные функции кое-что полезное,наверняка найдете в книге Сергиенко "Цифровая обработка сигналов"
|
|
|
|
|
Apr 23 2011, 16:31
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
Спасибо большое! И книга и ссылка очень помогли, разобрался, с помощью FDATool в Matlab построил х-ки.
У меня вопрос по составлению принципиальной схемы. Я так понимаю, сначала нужно определиться со структурой. Я думаю взять самую простую - трансверсальную. На чём основываться при разработке принципиальной схемы и при выборе элементной базы? Заранее благодарен.
|
|
|
|
|
Apr 24 2011, 08:44
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
а можно ли обойтись без микроконтроллеров в моём случае?
|
|
|
|
|
Apr 25 2011, 08:17
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Serg76 @ Apr 24 2011, 12:09)  естественно 2 анатолий Человеку необходимо спроектировать ЦФ, а не обрабатывать сигнал с его помощью, причем здесь МК? Проектирование обычного КИХ фильтра под любое окно займет не более сотни строк кода для ПК (а то и того намного меньше). Цитирую: "У меня вопрос по составлению принципиальной схемы. "
|
|
|
|
|
Apr 25 2011, 12:29
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
На счёт расчета коэффициентов и х-к я разобрался. МК мне использовать не нужно. А принципиальная схема нужна, т.к. реализация аппаратная, а не программная.
|
|
|
|
|
Apr 25 2011, 13:31
|
Местный
  
Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811

|
Цитата(Kikky @ Apr 25 2011, 15:29)  На счёт расчета коэффициентов и х-к я разобрался. МК мне использовать не нужно. А принципиальная схема нужна, т.к. реализация аппаратная, а не программная. Если нужна аппаратная реализация и Вы остановились на фильтре с конечной импульсной характеристикой, то все что Вам нужно для принципиальной схемы это посмотреть как аппаратно реализуется операция свертки.
|
|
|
|
|
Apr 26 2011, 08:27
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Kikky @ Apr 25 2011, 14:29)  А принципиальная схема нужна, т.к. реализация аппаратная, а не программная. Если делать аппаратную реализацию - то на ПЛИС. Так как другая элементная база - умножители, сумматоры в отдельных микросхемах - уже вымерла.
|
|
|
|
|
May 7 2011, 14:10
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
Спасибо большое. Подскажите пожалуйста как можно реализовать переменную полосу пропускания? Одна у меня будет от 300 до 3000 Гц, а вторая от 300 до большего значения. Мои соображения: исходя из того, что кол-во коэффициентов и их значения изменятся нужно использовать другую микросхему ПЗУ для хранения этих самых коэффициентов, а также другое кол-во регистров сдвига для формирования линии задержки. Также изменения коснуться ещё многих элементов в схеме. Мне кажется этот способ далеко не самый эффективный и рациональный. Заранее спасибо.
|
|
|
|
|
May 11 2011, 08:38
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
народ, помогите реализовать переменную полосу пропускания!..натолкните на правильную мысль или литературу..
|
|
|
|
|
May 11 2011, 09:24
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
2petrov, спасибо, но мне пока нужно что-то проще.
2bahurin, а как быть с частотой дискретизации?..я так понимаю, тактовый генератор может выдавать разную частоту в зависимости от какого-то условия?
|
|
|
|
|
May 12 2011, 12:32
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Kikky @ May 11 2011, 11:38)  народ, помогите реализовать переменную полосу пропускания!..натолкните на правильную мысль или литературу.. Вот такой фильтр H(z) = 1 - (z^-2 +b(1+a)z^-1 +a)/(1+b(1+a)z^-1 +az^-2) - полосовой фильтр с центральной частотой fЗ такой, что b = cos(2Pi* fЗ), с шириной полосы пропускания Δf такой, что t = tg(Pi* Δf); a = (1-t)/(1+t). Так что крутишь fз - меняешь настройку реально в пределах (0,05 - 0,45) частоты дискретизации, крутишь а - меняешь добротность.
|
|
|
|
|
May 15 2011, 11:12
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
Спасибо, мне нужно как-то схемно реализовать это дело....мне кажется, что при изменении коэффициентов изменится только форма сигнала, это будет аналогично использованию другого окна, а вот кол-во регистров сдвига в линии задержки повлияет на ширину полосы пропускания...так ли это?
|
|
|
|
|
May 16 2011, 13:33
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(mdmitry @ May 16 2011, 11:12)  Стоит помнить, что в рекурсивном фильтре изменение любого коэффициента рекурсивной части влияет на устойчивость фильтра. Данного рекурсивного фильтра это не касается. Он построен на основе фазового фильтра, а он устойчив почти всегда.
|
|
|
|
|
May 16 2011, 14:37
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
Я то понимаю, что такое длина фильтра, но мне препод сказал, что кол-во регистров сдвига не обязательно такое же как кол-во коэффициентов в ких-фильтре. Сказал, что коэффициенты можно взять одни, а длина линии задержки разная должна быть. Чем больше задержка во времени(регистров сдвига), тем уже полоса пропускания и наоборот (я так понимаю связь через прямое и обратное преобразование Фурье)....и фильтр то у меня ких - значит нерекурсивный..
Книги читал, может он мне не так что рассказывает?..подскажите где эти моменты посмотреть можно пожалуйста, а то я уже сильно запутался..
|
|
|
|
|
May 18 2011, 17:17
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
подскажите пожалуйста где почитать о зависимости полосы пропускания от значений коэффициентов фильтра?...Вот например в Матлабе в fdatool когда задаёшь полосу пропускания шире или уже, то он на выходе выдаёт разные коэффициенты, но что на счёт линии задержки, это ведь нельзя контролировать в матлабе?...может кто знает где есть такая возможность?
Я понимаю, что изменения кол-ва коэффициентов изменит форму х-ки(крутизну спадов и т.д.), а вот как повлияет изменения кол-ва регистров сдвига?
Сообщение отредактировал Kikky - May 18 2011, 17:21
|
|
|
|
Guest_TSerg_*
|
May 19 2011, 07:23
|
Guests

|
Начните с чтения книг по цифровым фильтрам: Рабинер, Голд, Рейдер, Гольденберг и др.
|
|
|
|
|
May 19 2011, 13:06
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Kikky @ May 16 2011, 16:37)  Сказал, что коэффициенты можно взять одни, а длина линии задержки разная должна быть. Чем больше задержка во времени(регистров сдвига), тем уже полоса пропускания и наоборот (я так понимаю связь через прямое и обратное преобразование Фурье)....и фильтр то у меня ких - значит нерекурсивный.. Имеется в виду, если например, в КИХ - фильтре НЧ импульсную реакцию сжать вдвое, то и частота среза увеличится вдвое. Т.е. есть такой метод: имеется базовая импульсная реакция на фиксированную частоту, а рабочая импульсная реакция (т.е. набор коєффициентов) получается ее интерполированием для нужной частоты. При этом действительно, если при интерполяции импульсная реакция сжимается, то это значит, уменьшается число регистров сдвига, т.к. сжатая реакция дополняется нулями.
|
|
|
|
|
May 20 2011, 05:48
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
2TSerg, спасибо за книги. 2bahurin, это всё понятно. 2Анатолий, это то, что мне нужно!...вы не знаете где можно подробнее об этом методе почитать?..о том как осуществляется интерполяция базовой импульсной реакции и как это реализовать?
|
|
|
|
|
May 20 2011, 09:04
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Kikky @ May 20 2011, 07:48)  2Анатолий, это то, что мне нужно!...вы не знаете где можно подробнее об этом методе почитать?..о том как осуществляется интерполяция базовой импульсной реакции и как это реализовать? Ищите классика Константинидиса или ссылки на его методику пересчета АЧХ по базовой АЧХ.
|
|
|
|
|
May 22 2011, 11:42
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
Нашёл его книгу, но не нашёл в ней ничего на эту тему  ...в поисковиках на эту методику тоже ссылок не обнаружил..может у кого есть в своих запасах?
|
|
|
|
|
May 24 2011, 15:19
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
2Анатолий, спасибо, но эти формулы предназначены для БИХ-фильтров. 2bahurin, я так понимаю, что после дискретизации этой функции я получу нужные коэффициенты фильтра?
|
|
|
|
|
May 25 2011, 04:50
|

Местный
  
Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347

|
Цитата(Kikky @ May 24 2011, 19:19)  2bahurin, я так понимаю, что после дискретизации этой функции я получу нужные коэффициенты фильтра? да вот пример на матлабе расчета полосового фильтра на заданную частоту с заданной полосой Код clear all; Fs = 400; %частота дискретизации (Гц) f0 = 100; %центральная частота фильтра (Гц) band = 50; %полоса фильтра (Гц)
N = 256; %количество к-тов фильтра (число линий задержки равно N-1)
w = hamming(N)'; %окно хемминга
%моменты дискретизации для линейной ФЧХ t = (-N/2+0.5):(N/2-0.5); t = t*band/Fs;
h = w.*sin(pi*t)./(pi*t); %расчет ФНЧ c полосой band
h = 2*h/sum(h); %нормирую
h=h.*cos(2*pi*t*f0/band); %переношу на частоту f0 %в массиве h лежат к-ты полосового фильтра, рассчитанного на частоту f0 с полосой band % НЕ меняя структуры фильтра (не меняя N) можно расчитать фильтр на любую частоту с любой полосой %(разумеется чтобы он укладывался от 0 до Fs/2)
% построим АЧХ фильтра при помощи fft
f = (0:8*N-1)*Fs/(8*N);
H = 20*log10(abs(fft([h, zeros(1,7*N)])));
subplot(211), stem(1:N,h), grid; subplot(212), plot(f,H), grid, axis([0,Fs/2,-140,10]);
|
|
|
|
|
May 25 2011, 07:41
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Kikky @ May 24 2011, 18:19)  2Анатолий, спасибо, но эти формулы предназначены для БИХ-фильтров. Значит, на более общий случай. БИХ-фильтр задается передаточной характеристикой из числителя и знаменателя. Числитель - то, что касается КИХ-фильтра. Знаменатель - то, что отличает БИХ от КИХ. Ну, взять то, что получается в числителе - и будут искомые коэффициенты.
|
|
|
|
|
May 31 2011, 08:33
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
2bahurin, спасибо Вам огромное, этот алгоритм мне очень помог, препод одобрил. Только вот сказал, что использовать его можно только если есть теоретическое обоснование...на счёт используемого окна - понятно. Подскажите пожалуйста, какие Вы формулы использовали для дискретизации, расчета ФНЧ и для переноса на заданную частоту?
|
|
|
|
|
May 31 2011, 10:34
|

Местный
  
Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347

|
Цитата(Kikky @ May 31 2011, 12:33)  2bahurin, спасибо Вам огромное, этот алгоритм мне очень помог, препод одобрил. Только вот сказал, что использовать его можно только если есть теоретическое обоснование...на счёт используемого окна - понятно. Подскажите пожалуйста, какие Вы формулы использовали для дискретизации, расчета ФНЧ и для переноса на заданную частоту? Все формулы в листинге. sin(x)/x - это импульсная характеристика фнч. h=h.*cos(2*pi*t*f0/band); - перенос на частоту f0
|
|
|
|
|
May 31 2011, 10:44
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
Вот например, формула переноса на частоту f0, она у Вас просто в голове родилась?..или может получилась на основе каких-то теорем или формул?
|
|
|
|
|
Jun 2 2011, 16:02
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
Спасибо большое, с этим вроде бы разобрался, ещё есть вопрос о выборе АЦП: насчет быстродействия понятно, а вот на счёт разрядности?...где-то прочитал, что разрядность зависит от допустимого уровня шума квантования...а не зависит ли от длины фильтра?..у меня длина фильтра - 63 , значит АЦП должен выдавать на выходе 64 отсчёта?...и сдвиговые регистры нужны 64-разрядные?
|
|
|
|
|
Jun 3 2011, 08:11
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
немного разобрался, 8-разрядный двоичный АЦП способен на выходе выдать до 256 отсчетов, значит мне такой подходит. А 8-разрядные двоичные ПЗУ могут хранить до 256 значений коэффициентов?
подскажите что значит: "8-разрядное ПЗУ ёмкостью 256 бит (32x8)"? я имею ввиду 32x8..
Сообщение отредактировал Kikky - Jun 3 2011, 08:41
|
|
|
|
|
Jun 3 2011, 10:01
|

Местный
  
Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347

|
Цитата(Kikky @ Jun 3 2011, 12:11)  немного разобрался, 8-разрядный двоичный АЦП способен на выходе выдать до 256 отсчетов, значит мне такой подходит. А 8-разрядные двоичные ПЗУ могут хранить до 256 значений коэффициентов?
подскажите что значит: "8-разрядное ПЗУ ёмкостью 256 бит (32x8)"? я имею ввиду 32x8.. эх молодежь молодежь... 8-разрядный двоичный АЦП способен на выходе выдать столько отсчетов сколько нужно (хоть бесконечное количество) но каждый отсчет будет представлен одним байтом (8 бит) пзу емкостью 256 бит может запомнить не более 32 байт информации
|
|
|
|
|
Jun 3 2011, 10:53
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
Значит я могу использовать 8-разрядный АЦП и ПЗУ ёмкостью 512 бит(для хранения 64 коэффициентов)..?
Сообщение отредактировал Kikky - Jun 3 2011, 10:54
|
|
|
|
|
Jun 3 2011, 15:12
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
ну да, ПЗУ нужно под 64 коэффициента, а сдвиговые регистры под 64 отсчёта? получается одинаковой розрядности?...или одно от другого не зависит?
|
|
|
|
|
Jun 4 2011, 19:17
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Kikky @ Jun 2 2011, 19:02)  .у меня длина фильтра - 63 , значит АЦП должен выдавать на выходе 64 отсчёта?...и сдвиговые регистры нужны 64-разрядные? Фильтр с 64 отводами может подавлять до 70 дб и более. Такой динамический диапазон - это разрядность АЦП -12 и более. Иначе нет смысла строить такой крутой фильтр. Если входная разрядность 12, то если сдвиговые регистры - до суммирования, то и их разрядность тоже 12. А вот разрядность сумматора - должна учитывать возможное переполнение, на что требуется увеличить разрядность на 3-4. Чтобы в сумматор поместилось число, равное сумме всех коэффициентов, взятых по абсолютой величине.
|
|
|
|
|
Jun 6 2011, 06:14
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
Спасибо! С АЦП и сдвиговыми регистрами понятно стало, если подавление меньше 48 дБ, то можно и 8-разрядный АЦП использовать стало бы. А на счёт ПЗУ для хранения коэффициентов? Я могу использовать 16-разрядное ПЗУ(64 байта) для хранения 64 коэффициентов?
Сообщение отредактировал Kikky - Jun 6 2011, 06:54
|
|
|
|
|
Jun 7 2011, 10:57
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Kikky @ Jun 6 2011, 08:14)  Я могу использовать 16-разрядное ПЗУ(64 байта) для хранения 64 коэффициентов? C ПЗУ - неясно, если предполагается перестройка фильтра путем интерполяции кривой импульсной реакции. Надо знать метод такой интерполяции. Может, и ПЗУ не надо, если коэффициенты вычисляются. А может, ПЗУ на 1000 коэффициентов, а интерполяция - выбор каждого к-го коэффициента.
|
|
|
|
|
Jun 16 2011, 16:46
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 16-04-11
Из: Украина
Пользователь №: 64 417

|
Народ, помогите....у меня в схеме 2 пзу с коэффициентами (32х8) каждое, я их переключал ключём и тем самым менял полосу пропускания. Мне сказали, что так никто не делает и нужно использовать пзу на кристалле, то есть как я понял чтобы переключалось оно внутри микросхемы..подскажите микросхему на 512 бит ёмкостью пожалуйста!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|