Разработка фильтра для системы ДИСС-7
Разработка модуля для обработки радиолокационных сигналов с предварительной фильтрацией линейно-частотно модулированного сигнала. Реализация цифровой фильтрации в широкой полосе частот. Реализация математической модели фильтра в программе MATLAB.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 14.02.2013 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. Обзор и анализ аналогичных систем
1.1 Обзор существующих устройств
Обзор и анализ существующих моделей фильтров для систем ДИСС затруднителен в связи с тем, что данная область знаний является закрытой для широкого круга специалистов, поэтому оценить параметры, качество и особенности реально существующих фильтров не представляется возможным. С учетом этого для сравнительного анализа разрабатываемого цифрового фильтра для системы ДИСС использован DSP модуль для обработки радиолокационных сигналов на основе TMS320C5410A и Altera Cyclone EP1C6T144. DSP модуль представляет собой эффективную систему управления транспортными потоками на автомагистралях и обеспечивает:
1) Ввод аналоговых сигналов по 2-м каналам и их одновременное преобразование в цифровую форму с точностью 12 бит и частотой дискретизации до 50 МГц. Частота дискретизации и моменты взятия отсчетов для каждого из каналов задаются независимо;
2) Предварительную цифровую обработку сигналов на частоте дискретизации, выполняемую на ПЛИС;
3) Передачу результатов предварительной обработки из ПЛИС в ЦПОС со скоростью 20 Мбит/с;
4) Основную цифровую обработку сигналов, выполняемую на ЦПОС;
5) Выдачу низкоскоростных управляющих сигналов по 8 цифровым оптически изолированным линиям;
6) Выдачу высокоскоростного управляющего сигнала по 1 цифровой линии;
7) Работу в составе локальных сетей с интерфейсами RS232 и 100 Мбит/с Ethernet;
8) Дистанционную замену программ ЦПОС и ПЛИС, и отладку программ ЦПОС и ПЛИС по интерфейсу JTAG;
9) Рабочий диапазон температур - 40 …+85°С.
ПЛИС (Altera Cyclone EP1C6T144I7), использованная в данном модуле, выполняет предварительную цифровую обработку сигнала в реальном масштабе времени. В ПЛИС реализованы корреляторы, полосовые фильтры, схема синхронизации, формирование тактовых сигналов для АЦП, интерфейс связи с ЦПОС. Фильтры для каждого канала дальности реализованы по многокаскадной схеме с понижением частоты дискретизации с 50 МГц до 4. После понижения частоты дискретизации отсчеты сигналов передаются в ЦПОС для спектрального анализа и дальнейшей обработки [6].
Данный модуль взят за аналог ввиду применения в нем ПЛИС для ЦОС.
1.2 Анализ требований к разрабатываемому устройству
Разрабатываемое устройство на ПЛИС по сравнению с вышеописанным модулем для обработки радиолокационных сигналов выполняет узкоспециализированую задачу предварительной фильтрации линейно-частотно модулированного сигнала (ЛЧМ).
Проектируемый фильтр строится на основе банка цифровых фильтров, в котором входной сигнал, представленный последовательностью отсчетов, с помощью N различных цифровых субфильтров (каналов) разбивается на N подполос фильтрации, ширина которых значительно меньше рабочей полосы частот. Согласно заданию на дипломное проектирование число каналов выбрано равным 16, исходя из того, что увеличение количества каналов ведет к увеличению затрат ресурсов ПЛИС, а уменьшение ведет к снижению точности вычислений.
Поскольку в качестве основы для проектирования ЦФ выбраны фильтры, используемые в системе ДИСС-7, рабочая частота которого составляет 13325ГГц±25МГц, то ширина полосы пропускания фильтра находится в пределах 0..50 МГц. Соответственно, частота дискретизации по теореме Котельникова должна превосходить максимальную частоту в полосы пропускания (50 МГц) минимум в 2 раза.
Исходя из вышесказанного к проектируемому фильтру предъявляются следующие требования:
а) 16 канальный банк цифровых фильтров;
б) ширина полосы пропускания 50 МГц;
в) частота дискретизации 102 МГц;
г) возможность изменения функциональности фильтра за счет перепрограммирования по интерфейсу JTAG;
д) рабочий диапазон температур -40 …+125°С.
2. Теоретические основы реализации цифровой фильтрации
Поскольку реализация цифровой фильтрации в широкой полосе частот требует как минимум двукратного увеличения частоты дискретизации относительно максимальной частоты полосы (согласно теореме Котельникова), то реализация ЦФ затруднена ограничением частоты дискретизации устройства ЦОС, поэтому используют банк фильтров.
Банк фильтров (БФ) - цифровое устройство, в котором входной сигнал, представленный последовательностью отсчетов, с помощью М различных цифровых фильтров разбивается на М различных канальных сигналов (для обработки некоторым способом каждого из них), из которых с помощью выходных фильтров и последующего суммирования образуется последовательность отсчетов выходного сигнала.
Основную идею построения системы анализа / синтеза сигналов с использованием банка фильтров раскрывает рисунок 2.1.
Рисунок 2.1 - Система анализа / синтеза сигналов на основе банка фильтров
Исходный сигнал разбивается при помощи фильтров анализа Hk(z), k=0,1…, M-1 на M субполосных составляющих, которые в идеальном случае в частотной области не перекрываются. Подобрав соответствующим образом набор фильтров синтеза Fk(z), k=0,1…, M-1, можно восстановить исходный сигнал из его субполосных компонент. Вследствие ограничения ширины спектра сигналов на выходе БФ можно уменьшить частоту дискретизации субполосных сигналов пропорционально уменьшению ширины спектра. Для понижения частоты дискретизации на стадии анализа и последующего повышения на стадии синтеза используются соответственно компрессоры и экспандеры частоты дискретизации. В случае, когда коэффициент прореживания в каждом канале равен отношению ширины спектра субполосного сигнала к ширине спектра исходного, т.е.
(2.1)
говорят о системе анализа / синтеза с полной децимацией. Таким образом, получается M сигналов, отражающих поведение исходного сигнала в каждом частотном поддиапазоне, которые представлены в сумме тем же количеством отсчетов, что и исходный сигнал. Каждый субполосный сигнал в отдельности может быть эффективно обработан по некоторому алгоритму bk, k=0,1…M-1. БФ разделяют на банки с равнополосными и неравнополосными каналами, ортогональные, биортогональные, двухканальные и многоканальные и т.д. Каждый фильтр банка цифровых фильтров образует канал. Поэтому говорят об M-канальном банке фильтров.
Сигнал в канале называется субполосой, отсюда название субполосная фильтрация или субполосное кодирование.
Равнополосная декомпозиция подразумевает одинаковый коэффициент децимации и одинаковую суммарную ширину полосы пропускания каждого канала. В этот класс цифровых БФ входят также банки с многокомпонентными фильтрами (имеющими более одной полосы пропускания). В случае неравнополосных каналов коэффициенты децимации различны и в общем случае могут быть выражены в виде рационального числа
(2.2)
Дециматор (компрессор частоты дискретизации) - устройство, осуществляющее децимацию (прореживание) сигнала во времени. Децимация - операция, заключающаяся в исключении (пропуске) отсчетов входного сигнала, с порядковым номером, кратным коэффициенту децимации. Децимация в M раз обозначается обычно как : В частотной области это запишется как то есть спектр выходного сигнала операции децимации содержит M копий «расширенного» в M раз спектра входного сигнала, как это показано на рисунке 2.2.
Рисунок 2.2 - Децимация сигнала в M раз
Как видно из рисунка 2.2, если сигнал неограничен полосой частот, то происходит наложение спектров копий, то есть алайзин (от англ. «aliasing»). Поэтому в банке фильтров перед децимацией выполняется НЧ-фильтрация. Совокупность фильтра и дециматора называется фильтром-дециматором.
Интерполятор - устройство, выполняющее действия, обратные децимации. Интерполяция - операция, заключающаяся во встраивании (добавлении) между отсчетами, чей порядковый номер кратен определенному числу, некоторой константы (обычно нуля). Интерполяция в M раз обычно обозначается как (M ^):
(2.3)
В частотной области это записывается как то есть спектр выходного сигнала операции интерполяции содержит M копий «сжатого» в M раз спектра входного сигнала. Эти копии повторяются через . Для их устранения после интерполятора ставится НЧ-фильтр. Совокупность интерполятора и фильтра называется фильтром-интерполятором.
Частота дискретизации входного сигнала снижается при помощи дециматора, а затем осуществляется процесс фильтрации, таким образом общая вычислительная сложность уменьшается пропорционально коэффициенту децимации. После окончания обработки субполосного сигнала в каждом банке фильтров частота дискретизации повышается при помощи интерполятора. Данные равенства (эквивалентные схемы включения) широко применяются для вывода различных соотношений и представлены на рисунке 2.3.
Рисунок 2.3 - Эквивалентные схемы включения фильтров-дециматоров и фильтров-интерполяторов [4]
Банк цифровых фильтров предназначен для разбиения входного сигнала на несколько подканалов. В рассматриваемом случае банк фильтров - совокупность однотипных полосовых фильтров, перекрывающих весь исследуемый частотный диапазон.
Пусть исследуемая полоса:
, (2.4)
где Fs - частота дискретизации входного комплексного сигнала.
Тогда центральная частота k-ого фильтра:
(2.5)
где K - число подканалов, равное числу фильтров;
k - номер канала фильтра;
- центральная частота фильтра прототипа.
Выходные отсчеты k-ого канала (фильтра) определяются следующей формулой:
(2.6)
Все полосовые фильтры получены из исходного ФНЧ сдвигами его частотной характеристики (входного сигнала) (рисунок 2.4). Такие сдвиги может обеспечить дискретное преобразование Фурье:
(2.7)
где K - количество отсчетов в выборке; k - номер гармоники.
Рисунок 2.4 - АЧХ банка фильтров
Повторяя преобразования (2.7) на каждом текущем отсчете, получим:
(2.8)
что соответствует формуле (2.6), когда h(i)=1, i = (0, K-1). Теперь ДПФ (рисунок 2.5) можно рассматривать как набор из K полосовых фильтров:
(2.9)
где K - k-номер фильтра (канала).
Частотная характеристика, представленная на рисунке 2.5 имеет ряд существенных недостатков: растекание в боковые лепестки, наложение соседних каналов.
Улучшить АЧХ возможно лишь при использовании стандартных окон Хеннинга, Хемминга, Хана, Блэкмена и т.д. Применение эти окон позволяют убрать боковые лепестки (растекание), но лишь за счет усиления эффекта наложения.
Рисунок 2.5 - Эффекты наложения и растекания ДПФ
Это объясняется тем, что во временной области все стандартные окна фактически сужают интервал анализа относительно исходного прямоугольного окна, что в частотной области приводит к обратному эффекту. Вывод прост: для того чтобы частотные характеристики каналов не перекрывались, интервал, на котором происходит взвешивание сигнала, должен быть больше интервала ДПФ-анализа. Фактически, нужно сначала сформировать взвешивающим окном желаемую форму частотной характеристики, а потом проводить ДПФ. Если снять ограничение на длину интервала взвешивания N = K и заменить его на более легкое - N = LхK, L = 2, 3, 4,…, то есть N больше, но кратно интервалу ДПФ-анализа, то подбором взвешивающего окна можно задать любую форму частотной характеристики фильтра. Это позволит обеспечить и отсутствие перекрытия соседних каналов, и максимально равномерную характеристику в полосе пропускания. Как показывают вычисления, для обеспечения перекрытия соседних каналов менее 5% при любом К длина окна N должна быть в 12-16 раз больше К. Чтобы вернуться к выбранной длине интервала ДПФ-анализа, взвешенную последовательность длины N = LхK разбивают на L блоков по K отсчетов, после чего эти блоки накладывают друг на друга и поэлементно суммируют. Каждый r-й отсчет наложенной последовательности, полученной в момент времени t, zt(r)=zt(K-i), i = (0, K-1), определяется выражением:
(2.10)
где N = LхK, n - номер блока, п = (0, L-1).
Далее над полученными К отсчетами проводится ДПФ. Поэлементное сложение блоков длины. К взвешенной последовательности допустимо, так как все используемые в ДПФ комплексные экспоненты укладываются в К отсчетах целое число периодов, поэтому каждый К-й отсчет умножается на одно и то же значение.
Отсчеты после ДПФ описываются выражением:
(2.11)
Фактически взвешивающее окно - это импульсная характеристика КИХ фильтра.
На практике обычно имеет место перекрытие АЧХ соседних каналов. Перекрытие вызвано тем, что невозможно получить идеально прямоугольную форму АЧХ взвешивающего окна. Это означает, что частотная полоса в каждом канале будет несколько шире, чем Fs/K. Следовательно, после децимации в К раз выходной сигнал будет искажен (рисунок 2.6).
Рисунок 2.6 - Иллюстрация эффекта наложения при децимации: а) спектр исх. сигнала; б) спектр сигнала после децимации в 2 раза
Поэтому для устранения нежелательных эффектов децимации проводится следующее преобразования не через К, а через K/2 входных отсчетов, таким образом создается двукратный запас по частоте дискретизации выходного сигнала [3].
При проектировании банка цифровых фильтров с равнополосными каналами используется модель с полной модуляцией. Если банк основан на одном НЧ-фильтре-прототипе с конечной импульсной характеристикой (КИХ), то ширина полосы пропускания фильтра-прототипа определяет ширину каждого канала. Чтобы такой фильтр мог выделить полосу, соответствующую каждому каналу, необходимо сдвинуть спектр в область низких частот при помощи гетеродина (экспоненциального модулятора), а затем осуществить НЧ-фильтрацию фильтром-прототипом. После чего можно снизить частоту дискретизации субполосного сигнала без потери информации. Снижение частоты дискретизации осуществляет компрессор посредствам децимации, который удаляет М-1 отсчетов из каждой последовательности длиной M.
Максимальный коэффициент децимации равен количеству каналов K, таким образом, данный банк фильтров является максимально децимированным. Синтез осуществляется в обратной последовательности. Сначала увеличивается частота дискретизации. В экспандере между каждыми двумя отсчетами вставляются M-1 нулевых отсчетов. Затем осуществляется фильтрация субполосных сигналов с последующей модуляцией с целью перемещения субполосы в соответствующий частотный диапазон, который она занимала в исходном широкополосном сигнале. Суммирование выходов всех каналов синтезирующего банка фильтров дает восстановленный широкополосный сигнал, что представлено на модели ниже (рисунок 2.7).
Рисунок 2.7 - Модель ДПФ-модулированного банка фильтров, основанного на полной модуляции
НЧ-фильтр-прототип может быть спроектирован стандартными методами, такими как синтез при помощи взвешивающих окон, частотной выборки и т.д. Частота среза фильтра-прототипа определяет количество каналов и их ширину, так как вся полоса может быть поделена на K равных частей. Степень наложения субполос ограничивается в соответствии с требованиями, налагаемыми областью применения конкретного банка фильтров [4].
Импульсная и частотная характеристика фильтра для каждого канала определяется следующим образом:
(2.12)
(2.13)
Система характеризуется равномерным размещением полос с шагом
(2.14)
Непосредственная реализация такой схемы банка фильтров является крайне неэффективной. В каждом канале при большой частоте дискретизации осуществляется свертка с импульсной характеристикой фильтра-прототипа, что приводит к значительному увеличению вычислительных затрат, которые можно снизить путем снижения частоты дискретизации. Ключом для построения эффективной структуры является полифазная декомпозиция фильтра-прототипа. Она основывается на разбиении, децимации, группировании коэффициентов фильтра на подгруппы, называемые полифазными фильтрами.
(2.15)
Такое группирование полифазных фильтров может быть поделено между каналами, что изображено на рисунках 2.8 и 2.9.
Оценка субполосных сигналов осуществляется после модуляции, реализуемой при помощи ДПФ, вычислительную сложность которого можно ограничить, используя алгоритмы БПФ [4].
Рисунок 2.8 - Полифазная структура канала максимально децимированного банка анализа
На основе приведенных выше теоретических сведений в данном дипломном проекте разрабатывается цифровой фильтр на основе ДПФ-модулированных банков анализа и синтеза с равнополосными каналами. Число каналов ЦФ составляет 16, т.к. обеспечивается оптимальное распределение ресурсов ПЛИС и выполнение поставленной задачи. Ширина канала составляет 3.125 МГц.
3. Реализация математической модели фильтра в пакете MATLAB
3.1 Основы проектирования фильтров в MATLAB
радиолокационный сигнал фильтрация модель
Для построения фильтра-прототипа и расчета коэффициентов проектируемого фильтра использована среда Matlab.
В пакете Signal Processing, входящем в Matlab, имеется две графических среды, позволяющих рассчитывать и анализировать дискретные фильтры: FDATool (Filter Design & Analysis Tool) и блок работы с фильтрами, входящий в среду SPTool. В среде FDATool поддерживается больше методов синтеза; в SPTool имеется возможность ручного графического редактирования расположения нулей и полюсов функции передачи фильтра.
Расчет фильтра начинается с задания требуемых параметров на вкладке Design Filter. Тип синтезируемой АЧХ выбирается с помощью переключателя Filter Туре. Возможны следующие варианты: Lowpass (ФНЧ), Highpass (ФВЧ), Bandpass (полосовой фильтр), Bandstop (режекторный фильтр). Выбор пятого положения переключателя позволяет использовать раскрывающийся список, в котором перечислены более сложные варианты: Differentiator (дифференцирующий фильтр), Hilbert Transformer (преобразователь Гильберта), Multiband (многополосный фильтр), Arbitrary Magnitude (произвольная АЧХ) и Arbitrary Group Delay (произвольная групповая задержка).
Выбрав категорию синтезируемой АЧХ, следует выбрать тип синтезируемого фильтра, установив переключатель, расположенный в разделе Design Method, в положение IIR (рекурсивный) или FIR (нерекурсивный). Каждому положению переключателя соответствует список возможных методов синтеза. Состав этого списка меняется в зависимости от выбранного типа АЧХ. Например, при синтезе фильтра с произвольной зависимостью групповой задержки от частоты (Arbitrary Group Delay) переключатель автоматически установится в положение IIR, а в списке будет доступен всего один метод - метод минимизации р-нормы ошибки (Constrained Least Pth Norm). В случае синтеза АЧХ четырех простейших типов набор возможных методов синтеза значительно шире:
- нерекурсивные фильтры (FIR). Здесь доступны следующие методы:
а) Equiripple - синтез фильтров с равномерными пульсациями АЧХ методом Ремеза;
б) Least-Squares - минимизация среднеквадратического отклоне-ния АЧХ от заданной;
в) Window - синтез с использованием весовых функций (окон);
- рекурсивные фильтры (IIR). Здесь доступны четыре варианта синтеза по различным аналоговым прототипам методом билинейного Z-преобразования:
а) Butterworth - синтез фильтра Баттерворта;
б) Chebyshev Type I - синтез фильтра Чебышева первого рода;
в) Chebyshev Type II - синтез фильтра Чебышева второго рода;
г) Elliptic - синтез эллиптического фильтра.
В разделе Filter Order указывается требуемый порядок фильтра или устанавливается переключатель в положение Minimum order (наименьший возможный порядок). В разделе Frequency Specifications и Magnitude Specifications необходимо ввести частоту дискретизации Fs, граничные частоты полосы пропускания и полосы задерживания (Fpass и Fstop), допустимые затухания в полосе пропускания и в полосе задерживания (Apass и Astop). После задания всех параметров нажимается кнопка Design Filter и производится расчёт коэффициентов фильтра, после чего можно просмотреть характеристики синтезированного фильтра [7].
3.2 Расчет коэффициентов фильтра
Фильтр рассчитывается с частотой дискретизации 102 МГц и частотой среза 50 МГц. Тип фильтра - ФНЧ, с конечной импульсной характеристикой (FIR). Полоса пропускания равна - диапазон частот (50 МГц), Число коэффициентов фильтра (порядок фильтра) - 768 (16*48), т.к. при проектировании фильтра была экспериментально получена оптимальная длина полосы, равная 48.
После расчёта коэффициенты фильтра экспортируются через меню File - Export to - Coefficient File, в Options выбирается формат Binary и экспортируется в файл h.fcf, который приведен в приложении Б.
В дальнейшем этот файл будет использоваться как подключаемый в проект программной реализации фильтра.
3.3 Реализация ДПФ-модулированных банков фильтров
Можно построить математическую модель банка фильтров, используя функции пакета MATLAB.
Функция анализатора - dft01a (x, K, M, h), где
x - анализируемый сигнал,
K - количество каналов,
M - коэффициент децимации,
h - коэффициенты фильтра-прототипа.
На выходе функции - X - матрица с сигналами каналов банка фильтра.
Основные этапы выполняемые функцией анализатора:
1) Формирование сигнала модуляции (гетеродин).
2) Модуляция входного сигнала - получение канальных сигналов.
3) НЧ-фильтрация каналов.
4) Децимация канальных сигналов.
Функция синтезатора - dft01s (X, M, h), выполняет действия обратные функции анализатора, на входе функции X - матрица с сигналами каналов, M - коэффициент интерполяции, h - коэффициенты фильтра-прототипа.
Основные этапы выполняемые функцией синтезатора:
1) Определение количества каналов по размеру матрицы с сигналами каналов.
2) Добавление нулевых отсчетов.
3) Подготовка фильтра.
4) Фильтрация каналов.
5) Формирование коэффициентов модулятора (гетеродина).
6) Модуляция.
7) Суммирование выходов всех каналов и получение синтезированного сигнала.
Так как прямая реализация уступает в эффективности полифазной, то необходимо провести подробный анализ полифазной реализации банков фильтров. Функция анализатора полифазной реализации, с максимальной децимацией - dft02a (x, K, h), где
x - анализируемый сигнал,
K - количество каналов,
h - коэффициенты фильтра-прототипа.
На выходе функции - X - матрица с сигналами каналов цифрового банка фильтра [4].
Основные этапы выполняемые функцией анализатора:
1) Сортировка входных отсчетов сигнала на каналы - децимация. Осуществляется при помощи функции reshape, которая преобразует вектор входных отсчетов в матрицу, последовательно заполняя её сверху вниз, справа налево.
2) Разбиение фильтра-прототипа на полифазные фильтры. Осуществляется при помощи функций reshape и flipud, последняя функция переворачивает матрицу (от англ. flip up down).
3) Полифазная фильтрация каналов. Осуществляется функцией filter.
4) Модуляция посредствам ДПФ. Осуществляется функцией fft.
Функция синтезатора полифазной реализации - dft02s (X, h), как и для прямой реализации, выполняет действия обратные функции анализатора, на входе функции X - матрица с сигналами каналов, h - коэффициенты фильтра-прототипа.
Основные этапы выполняемые функцией синтезатора:
1) Определение количества каналов.
2) Обратное ДПФ, осуществляется функцией ifft.
3) Разбиение фильтра-прототипа на полифазные фильтры.
4) Полифазная фильтрация каналов
5) Синтезированный сигнал - интерполяция.
В Приложении В представлен листинг алгоритмов реализации банков цифровых фильтров в среде Matlab.
В качестве входного сигнала используется ЛЧМ сигнал, так как этот сигнал используется в системе ДИСС в качестве зондирующего и по его форме и спектру легче оценить воздействие на него банка фильтров.
Линейно-частотная модуляция (ЛЧМ) сигнала - это вид частотной модуляции, при которой частота несущего сигнала изменяется по линейному закону.
Изменение частоты f(t) внутри импульсов с ЛЧМ происходит согласно формуле:
(3.3.1)
где - центральное значение несущей частоты;
- база (крутизна изменения частоты) ЛЧМ сигнала;
- длительность сигнала;
- максимальное и минимальное значение частоты радиосигнала.
Фаза сигнала с ЛЧМ определяется как:
(3.3.2)
Тогда ЛЧМ сигнал описывается следующим выражением:
(3.3.3)
где - амплитуда; - начальная фаза [9].
Основные параметры разрабатываемого банка ЦФ:
Частота дискретизации fs=102 МГц;
Количество каналов k=16;
Количество коэффициентов фильтра прототипа n=768.
4. Практическая реализация банка цифровых фильтров
4.1 Структура и описание ПЛИС
В настоящее время существует большое количество производителей ПЛИС (Altera, Xilinx, Actel, Atmel, Gray, National Instuments и др.), но лидерами в производстве ПЛИС являются фирмы Altera и Xilinx.
При выборе элементной базы ПЛИС учитываются следующие факторы:
· быстродействие,
· низкая стоимость,
· более совершенное программное обеспечение (ПО).
Продукты фирмы Altera имеют более совершенное ПО (Quartus II), чем продукты фирмы Xilinx (ISE). Поэтому используется ПЛИС Altera. В таблице 4.1.1 представлены сравнительные характеристики семейств Cyclone.
Таблица 4.1.1 - Сравнительные характеристики семейств Cyclone
Семейство |
Cyclone I |
Cyclone II |
Cyclone III |
|
Количество логических элементов |
до 20 тысяч |
до 68 тысяч |
до 120 тысяч |
|
Число бит памяти |
294 912 |
1 152 000 |
3 981 312 |
|
Встроенные умножители |
- |
до 150 |
до 576 |
|
ФАПЧ |
до 2 |
до 4 |
до 4 |
|
Питание ядра |
1.5 В |
1.2 В |
1.2 В |
|
Тактовая частота |
200 МГц |
260 МГц |
260 МГц |
Выбор элементной базы ПЛИС производится между семейством Cyclone и Cyclone II, т.к. производительности этих СБИС вполне хватит для реализации поставленной задачи. Если сравнивать производительность наилучшей модели первого поколения Cyclone и младшую модель второго поколения, то стоимость младшей модели Cyclone II будет значительно ниже. Разработка банка цифровых фильтров будет основана на ПЛИС фирмы Altera семейства Cyclone II.
Семейство Cyclone II - второе поколение дешевых FPGA фирмы Altera. Они на 30% дешевле и в три раза более емкие, чем микросхемы первого поколения. Данные ПЛИС выпускаются на 300-мм пластинах по
90-нм технологическому процессу (в то время как Cyclone - по технологии 130 нм) с напряжением питания ядра 1.2 В. Cyclone II имеют также и больше функциональности, в том числе, встроенные умножители, поддержку большего числа стандартов ввода / вывода, интерфейсов с новыми устройствами памяти. Они содержат до 68 тысяч логических элементов, до 622 пользовательских линий ввода / вывода и до 1.1 Мбит встроенной памяти в различных конфигурациях, включая двухпортовые и однопортовые RAM, ROM и FIFO. Особенностью семейства Cyclone II является наличие встроенных умножителей 18 х 18, каждый из которых может использоваться как два умножителя 9 х 9. Блоки ввода / вывода микросхем Cyclone II поддерживают различные стандарты, в том числе и дифференциальные. Для семейства Cyclone II оптимизировано уже более 40 IP-компонент от Altera и AMPP (Altera Megafunction Partners Program).
Отличительные особенности:
1) Архитектура семейства Cyclone II содержит от 4608 до 68416 логических элементов;
2) М4К встроенные блоки памяти;
3) До 1.1 Мбит встроенной RAM памяти;
4) Тактовая частота 260 МГц;
5) Встроенные умножители;
6) Поддержка дифференциальных быстродействующих каналов, включая LVDS (311 MbPS), mini-LVDS, RSDS, LVPECL;
7) Поддержка быстродействующей внешней памяти, включая DDR2, DDR и SDR SDRAM;
8) Питание портов I/O 1.5, 1.8, 2.5 или 3.3 В;
9) Поддержка интерфейса JTAG;
10) До четырех ФАПЧ (PLL) на микросхему с умножением частоты и сдвигом фаз;
11) Питание ядра 1.2 В.
Таблица 4.1.2 - Обзор семейства Cyclone II.
Устройство |
EP2C5 |
EP2C8 |
EP2C20 |
EP2C35 |
EP2C50 |
EP2C70 |
|
Логические элементы |
4608 |
8256 |
18752 |
33216 |
50528 |
68416 |
|
Блоки ОЗУ М4К |
26 |
36 |
52 |
105 |
129 |
250 |
|
Всего ОЗУ, бит |
119808 |
165888 |
239616 |
48384 |
594432 |
1152000 |
|
Встроенные умножители 18 х 18 |
13 |
18 |
26 |
35 |
86 |
150 |
|
ФАПЧ |
2 |
2 |
4 |
4 |
4 |
4 |
|
Максимальное количество пользовательских выводов |
142 |
182 |
315 |
475 |
450 |
622 |
|
Дифференциальные каналы |
58 |
77 |
132 |
205 |
193 |
262 |
Для реализации цифрового фильтра для системы ДИСС выбрана СБИС EP2C35F484I8. Обозначение СБИС состоит из следующих составных частей и обозначает:
EP2C - Altera Cyclone второго поколения;
35 - Примерно 35 000 логических элементов;
F - Тип корпуса: F = fineline (1,0 mm) BGA;
484 - Количество выводов корпуса;
I - Рабочая температура: Industrial (-40..+125°С);
8 - Градация быстродействия: 6, 7,8.
EP2C35 состоит из блоков ОЗУ М4К (M4K Blocks), встроенных умножителей (Embedded Multipliers), ФАПЧ (фазовая автоподстройка частоты) (PLL), блоков логических элементов (logic array), элементов ввода-вывода (IOEs).
Самым наименьшим элементом в архитектуре Cyclone II является логический элемент (LE). Основу логических элементов составляет функциональный генератор (Look-Up Table - LUT) [8].
Логический элемент Cyclone II может работать в различных режимах:
1. Нормальный режим используется для задач общей логики и комбинационных функций;
2. Арифметический режим используется для того, чтобы осуществить сумматоры, счетчики, аккумуляторы и компараторы.
16 логических элементов (LEs) образуют блоки логических элементов (Logic Array Blocks).
Cyclone II имеет 4 банка портов ввода / вывода. Каждый банк имеет свое питание VCCIO, поддерживает много стандартов с одинаковым уровнем питания и имеет вывод двойного назначения VREF.
По своей архитектуре микросхемы FPGA построены с использованием памяти Static RAM, то есть при каждом включении требуют «загрузки» выполняемой программы, следовательно, для работы фильтра потребуется наличие конфигурационного ПЗУ. Конфигурационные ПЗУ предназначены для загрузки статической памяти FPGA [8].
EP2C20F256I8 использует конфигурационное ПЗУ EPCS4 - Flash микросхема. Она может программироваться в системе с использованием кабеля Byteblastertm II Download Cable или использовать специальный блок Altera Programming Unit (APU). EPCS4 имеют четырехпроводной интерфейс: (DCLK), Serial Data Output (DATA), AS Data input (ASDI) и Chip Select (Ncs). DCLK генерируется Cyclone FPGA (14-20 МГц) [8].
4.2 Особенности САПР ПЛИС
Программное обеспечение Altera Quartus II предоставляет полную мультиплатформенную среду проектирования, которая может быть легко перенастроена под конкретные требования. Это идеальная среда для проектирования на основе ПЛИС законченных систем на кристалле (SOPS). Программное обеспечение Quartus II включает в себя средства для всех фаз проектирования с применением ПЛИС как FPGA, так и CPLD структур [10].
Порядок работы с ПО Altera Quartus II включает следующие основные этапы:
1) Техническое задание;
2) Ввод описания проекта (поведенческое или структурное);
3) Моделирование (функциональное);
4) Синтез:
а) Преобразование описания проекта в схему на заданной элементной базе;
б) Оптимизация схемы с учётом ограничений по быстродействию и занимаемой площади ПЛИС;
5. Разводка и размещение внутренних ресурсов ПЛИС с учётом наложенных ограничений по быстродействию и занимаемые ресурсы;
6. Временной анализ - проверка соответствия созданной ПЛИС условиям быстродействия ТЗ;
7. Моделирование на вентильном уровне;
8. Тестирование и отладка ПЛИС в составе системы (ISP, JTAG, Signal tap) [11].
Для выполнения задания на дипломное проектирование необходимо последовательно выполнить указанные этапы, за исключением этапа тестирования и отладки, который не входит в задачи данного дипломного проекта.
В рамках пакета Quartus II создается проект (схемный, текстовый, комбинированный ввод проекта). Для создания сложных проектов существуют интегрированные средства помощи Mega Wizard & SOPC. Особенностью среды Quartus II является наличие системы синтеза, системы размещения внутренних ресурсов и разводки ПЛИС, системы моделирования, системы временного анализа и анализа потребляемой энергии, системы интеграции с другими САПР, средств оптимизации быстродействия LogicLock, интегрированных средств разработки ПО для микро-ЭВМ.
При схемном вводе описания проекта могут использоваться:
1) Простейшие логические элементы;
2) Параметризируемые модули;
3) Мегафункции Altera;
4) Ранее созданные компоненты (тестовым и др. способами).
В качестве аппаратурных языков описания схем, реализуемых в ПО Quartus II, используются языки VHDL или Verilog.
IP (Intellectual Property) ядра - логические блоки написанные на языках VHDL или Verilog, используются для сложных многокомпонентных проектов. Многие фирмы предлагают готовые, протестированные IP-ядра, реализующие различные алгоритмы и интерфейсы.
В состав IP входят мегафункции. Для задач цифровой фильтрации применяется мегафункция Mega Core FIR Compiler. Применение данной мегафункции позволяет быстро спроектировать цифровой фильтр исходя из заданных параметров.
4.3 Расчет и реализация банка цифровых фильтров в среде Quartus II v. 8.1
Для начала работы в среде Quartus II необходимо создать новый проект (New Project Wizard). При создании проекта необходимо указать имя проекта, месторасположение проекта, тип ПЛИС, на котором будет выполнен проект.
Описание проекта будет реализовано на схемном вводе. В меню File->New-> Block Diagram/Schematic создается файл верхнего уровня для схемного описания проекта. Важно чтобы имя проекта совпадало с именем файла верней иерархии. Реализуемый проект состоит из двух блоков: фильтра-дециматора (фильтра-анализатора) и фильтра- интерполятора (фильтра-синтезатора). На примере рассматривается реализация фильтра-дециматора.
Для ускоренного создания проекта в появившемся окне необходимо нажать вкладку Symbol-> MegaWizard Plug-In Manadger.
Далее необходимо создать новую модель мегафункции. В следующем диалоговом окне необходимо указать путь и имя выходного файла, мегафункцию (FIR Compiler v8.1), а также следует выбрать семейство ПЛИС, на котором будет реализована данная мегафункция и язык описания (Verilog HDL).
Далее в окне мегафункции Mega Core FIR Compiler на вкладке Parametrize, сосредоточены настройки фильтра.
Настройки поделены на две составляющие: создание и генерация коэффициентов мегафункцией (Floating Coefficient Set) или импорт коэффициентов из среды Matlab (Imported Coefficient Set).
Для генерации коэффициентов мегафункцией (fircompiler) необходимо в окне FilterType выбрать тип фильтра (Low Pass). Порядок фильтра, определяется количеством коэффициентов фильтра (Coefficients). Во вкладке Window Type выбирается метод, по которому будет осуществлен синтез АЧХ проектируемого фильтра. Синтез АЧХ осуществляется только методом окон. Этот недостаток компенсируется возможностью загрузки коэффициентов проектируемого фильтра, полученных, с использованием среды FDATool, входящий в Matlab. Во вкладках Cuttof Freq.1 и Sample Rate указывается граничная частота и частота дискретизации соответственно (50МГц и 102 МГц).
Во вкладке Rate Specification осуществляется выбор типа фильтра: дециматора, интерполятора. Во вкладке Factor выбирается индекс децимации / интерполяции (соответствует количеству каналов). Также в настройках можно выбрать разрядность входной шины данных, способ представления входных данных: signed - десятичное число со знаком, unsigned - десятичное число без знака, тип структуры проектируемого фильтра (полностью параллельная, последовательная), указать где будут храниться коэффициенты.
Далее проводится графический анализ влияния ошибок квантования коэффициентов фильтра на его АЧХ. Ошибки квантования - представление коэффициентов фиксированным набором битов, например 16 бит. Операции сложения и вычитания в формате с фиксированной запятой не приводят к необходимости округления результатов - они могут лишь вызвать переполнение. В отличие от сложения умножение чисел с фиксированной запятой приводит к увеличению числа значащих цифр результата и, следовательно, к необходимости округления. Если результат умножения по модулю не превышает единицы, то применение формата с плавающей запятой даст большую точность [12].
Однако операции сложения в формате с плавающей запятой могут приводить к потере точности. В данном случае выбирается опция преобразования из формата с плавающей запятой в формат с фиксированной запятой (закладка Floating point to fixed point conversion) c последующим масштабированием коэффициентов с точностью 16 бит. В соответствии с заданной точностью, мегафункция автоматически находит масштабный коэффициент.
На следующем этапе задается фактор интерполяции (или децимации) фильтра, если необходимо спроектировать интерполяционный или децимирующий фильтр (по умолчанию фактор задается равным 1). Следующий шаг - задание архитектуры проектируемого КИХ-фильтра (параллельная или последовательная) и конвейерных свойств фильтра: оптимизация по скорости работы (частоте) или по площади занимаемых ресурсов (число задействованных макроячеек) ПЛИС.
Реализация фильтра-интерполятора с помощью мегафункции будет аналогична.
Для создания входных и выходных выводов на разрабатываемой блок-схеме необходимо на панели инструментов выбрать вкладку Symbol. В левой части окна необходимо последовательно указать путь к библиотеке с нужными примитивами: altera/quartus81/libraries/primitives/pin/input. В правой части окна появится изображение выбранного примитива. В данном случае это входной вывод input. После нажатия клавиши ОК выбранный символ появится в основном поле программы. При таком вводе автоматически включается режим «Повторного ввода» (Repeat-insert-mode), при котором один символ можно вставить в несколько мест проекта. Введенный символ привязывается к курсору. Теперь при нажатии левой кнопки мыши символ вводится на указанное в данный момент место схемы. Далее его можно перевести в другое место схемы и там его аналогичным способом зафиксировать. Для завершения вставки достаточно нажать на клавиатуре клавишу ESC или на правую кнопку мыши.
Аналогичным образом вводятся все выводы, необходимые для создания проекта. После окончания ввода всех выводов необходимо перезаписать файл проекта.
Для данного проекта понадобится 3 входных вывода (вход для сброса, вход для синхроимпульса и вывод для входной последовательности) и один выходной вывод (для выходной последовательности).
После соединения всех выводов с функциональными блоками необходимо произвести компиляцию проекта, запустив полную компиляцию проекта, выбрав в меню «Обработка» (Processing) команду «Пуск компилятора» (Start Compilation). Компилятор пакета Quartus II состоит из ряда модулей, выполняющих следующие функции:
· проверка проекта на наличие ошибок;
· логический синтез;
· размещение и разводка проекта в ПЛИС;
· генерация выходных файлов для моделирования проекта;
· анализ временных характеристик;
· программирование.
В начале компиляции проекта из него извлекается информация об иерархических связях между составляющими его файлами, и описание проекта проверяется на наличие основных ошибок. Затем создается организационная карта проекта, и все файлы преобразуются в единую базу данных, с которой в последствие и будет работать система.
Компилятор создает файлы для программирования и конфигурирования ПЛИС фирмы Altera.
Промежуточные и окончательные результаты компиляции в системе Quartus II можно посмотреть в окне «Отчет о компиляции» (Compilation Report). На рисунке представлен отчет о компиляции проекта.
Отчет о компиляции проекта
Как видно из рисунка данный проект занимает 52% логических элементов ПЛИС, что означает наличие незадействованных ячеек, а следовательно, посредством перепрограммирования ПЛИС можно дополнить список функций реализуемых на ПЛИС.
После компиляции проекта доступно моделирование (Simulation), которое позволяет определить реакцию разработанного проекта на заданное входное воздействие, то есть позволяет убедиться в правильности его функционирования.
Цифровой банк фильтров имеет три входа и один выход. На вход clock подается последовательность синхроимпульсов, на вход reset единичный импульс для сброса предыдущих состояний ЦФ, на вход in_data [7..0] подается сигнал, подлежащий фильтрации. С выхода out_data [7..0] снимается отфильтрованный сигнал.
Список литературы
1. ДИСС - База знаний (электронный ресурс). - Режим доступа: http://www.avsim.su/wiki/ДИСС
2. Доплеровский измеритель скорости и сноса (электронный ресурс). - Режим доступа: http://ru.wikipedia.org/wiki/Доплеровский_измеритель_скорости_и_сноса
3. Л. Азаренков, И. Канатов, Д. Каплун. Банк Цифровых фильтров // Компоненты и технологии. - 2007. - №10. - С. 156-161
4. Цифровые банки фильтров: анализ, синтез и применение в мультимедиасистемах: Учеб. метод. пособие по курсу «Теория и применение ЦОС»/ Сост. и общ. ред. А.А. Петровский, М. Парфенюк, А. Борович, М.З. Лившиц. - Минск: БГУИР, 2006. - 82 с.
5. А. Беляев, Т. Солохина, В. Юдинцев. Современные устройства цифровой обработки сигналов. Вместе или врозь // Электроника: наука, технология, бизнес. - 2009. - №1
6. DSP модуль для обработки радиолокационных сигналов на основе TMS320C5410A и Altera Cyclone EP1C6T144 (электронный ресурс). - Режим доступа: http://cad.ntu-kpi.kiev.ua/~dsplab/ru/publish/C5410_and_Altera
7. А.Б. Сергиенко «Цифровая обработка сигналов» - СПб.: Питер, 2002. - 608 с.
8. Cyclone II Device Handbook - Altera corporation, 2008. - 470 с.
9. Линейная частотная модуляция (электронный ресурс). - Режим доступа:
http://ru.wikipedia.org/wiki/Линейная_частотная_модуляция
10. Общая технология проектирования в среде Quartus II: Учеб.метод. пособие по курсу «Схемотехническое проектирование ЭВС»/ Сост. и общ. ред. Ю.Ф. Опадчий. - Москва: МАТИ, 2005. - 79 с.: ил.
11. Quartus II Handbook Version 8.1 - Altera corporation, 2008. - 2496 с.
12. Андрей Строгонов. Проектирование цифровых фильтров в системе MATLAB/Simulink и САПР ПЛИС Quartus // Компоненты и технологии. - 2008. - №6. - С. 122-126.
13. Дубровский Н.А. Организация производства: Учеб.-метод. комплекс. - Новополоцк: УО «ПГУ», 2006. - 368 с.
14. Методические рекомендации по энергосбережению - Госстандарт, 2006. - 4 с.
15. Охрана труда: Учеб.-метод. комплекс/ сост. И.Н. Клышко, Н.С. Дмитриченко, Л.Д. Петрусенко; под общ. ред. И.Н. Клышко. - Новополоцк: ПГУ, 2006. - 196 с.
16. Защита населения и хозяйственных объектов в чрезвычайных ситуациях: Учеб.-метод. комплекс для студ. технических, финансово-экономических и юридических спец./ Сост. и общ. ред. Э.П. Калвана. - Новополоцк: ПГУ, 2005. - 356 с.
Размещено на Allbest.ru
Подобные документы
Самолетные и вертолетные доплеровские измерители скорости и угла сноса (ДИСС). Разработка цифрового фильтра для системы ДИСС. Требования к разрабатываемому устройству. Теоретические основы реализации цифровой фильтрации. Экономическое обоснование проекта.
дипломная работа [1,7 M], добавлен 11.02.2013Цифровой фильтр с заданными характеристиками: рабочие коэффициенты, передаточная функция, параметры и структура. Программная и аппаратная реализация спроектированного фильтра, его тестирование. Особенности режимов работы фильтра в полосе пропускания.
контрольная работа [1,9 M], добавлен 19.09.2012Разработка общего алгоритма функционирования цифрового фильтра нижних частот. Разработка и отладка программы на языке команд микропроцессора, составление и описание электрической принципиальной схемы устройства. Быстродействие и устойчивость фильтра.
курсовая работа [860,6 K], добавлен 28.11.2010Разработка математической модели цифрового фильтра нижних частот. Структурная и электрическая принципиальная схемы системы с обоснованием выбора элементов. Время выполнения программы работы цифрового фильтра. Оценка инструментальной погрешности системы.
курсовая работа [3,3 M], добавлен 13.06.2016Нахождение коэффициентов фильтра с помощью программного пакета MatLab. Структурная схема прямой канонической формы фильтра. Листинг программного пакета visual DSP++. Построение амплитудно-частотной характеристики синтезированного фильтра, расчет графика.
курсовая работа [1,5 M], добавлен 23.04.2013Расчет цифрового фильтра нижних частот с конечной импульсной характеристикой. Синтез фильтра методом окна (параболического типа). Свойства фильтра: устойчивость, обеспечение совершенно линейной фазочастотной характеристики. Нахождение спектра сигнала.
курсовая работа [28,6 K], добавлен 07.07.2009Изучение сущности цифровой фильтрации - выделения в определенном частотном диапазоне с помощью цифровых методов полезного сигнала на фоне мешающих помех. Особенности КИХ-фильтров. Расчет цифрового фильтра. Моделирование работы цифрового фильтра в MatLab.
курсовая работа [2,0 M], добавлен 21.09.2010Изучение методов цифровой фильтрации в обработке сигналов. Исследование способов синтеза бесконечной импульсной характеристики приборов для очищения жидкостей процеживанием. Особенность имитирования фильтров нижних частот в программной среде Matlab.
дипломная работа [1,1 M], добавлен 20.05.2017Линейно частотно-манипулированные сигналы. Создание согласованного фильтра и его импульсной характеристики. Создание накопителя и прохождение через него. Функциональная схема цифрового согласованного обнаружителя сигналов. Создание ЛЧМ–сигнала.
курсовая работа [796,8 K], добавлен 07.05.2011Расчет цифрового и аналогового фильтра-прототипа. Структурные схемы и реализационные характеристики фильтра. Синтез цифрового фильтра в системе программирования MATLAB. Частотные и импульсные характеристики цифрового фильтра, карта его нулей и полюсов.
курсовая работа [564,8 K], добавлен 24.10.2012