Разработка и исследование многопоточных алгоритмов цифровой обработки сигналов, полученных с АЦП.
Заказать уникальную дипломную работу- 16 16 страниц
- 70 + 70 источников
- Добавлена 17.07.2013
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
Wp = 0.2 ; Ws = 0.3 ;
[n,Wn] = buttord(Wp,Ws,0.01,100) ;
[b,a] = butter(n,Wn);
Fi=get_wavelet_fun_1(b,1000,0);
Высокочастотная и низкочастотные коэфициенты фильтра заданы на следующем графике
Частотные характеристики фильтра заданы следующим графиком
Функция конволюции, соответствующая фильтру, задается следующим графиком
Результат конволюции сигнала с низкочастотной функцией задан ниже
Черный цвет соответствует начальному сигналу, красный- результат конволюции.
Разработано многопоточное приложение, реализующее свертку фрагментов тестового сигнала с импульсной характеристикой фильтра с задаваемым числом потоков, от 1 до 100.
Оценена точность фильтрации полной реализации сигнала путем сравнения результатов фильтрации с идеальным сигналом (частотой 1 кГц).
Для этой цели используется нориа PSNR, сравнивающий результат свертки идеального сигнала с фрагментарной сверткой, реализованной в несколько потоков.
Критерий PSNR
Общепринятой величиной для оценки потерь при восстановлении сигналов является метрика, называемая пиковое отношение сигнал/шум или по-английски PSNR. При этом, чем больше значение PSNR, тем меньше потерь при восстановлении и наоборот.
Данный критерий определяется выражением:
где xij- точки точки с координатами (i,j), сигма - среднеквадратическое отклонение между исходным и восстановленным сигналом. В нашем случае, чтобы оценить качество многопоточного фрагментарного исполнения свертки, мы должны взять результат свертки идеального сигнала с фрагментарной сверткой, реализованной в несколько потоков, а также простую свертку, выполненную в один поток. График значений PSNR в зависимости от числа потоков потоков показан на следующем рисунке
Горизонтальная шкала- число потоков, вертикальная- значение PSNR.
Мы видим, что с увеличением числа потоков качество свертки обратно пропорционально квадрату числа потоков.
Увеличивая длительность отрезков фильтруемого сигнала от 5 000 до длительности, равной длительности импульсной характеристики фильтра (80), фиксирована ошибка фильтрации и длительность работы каждого потока. Определено, при какой длительности фильтруемого отрезка ошибка фильтрации на 5% превысит ошибку фильтрации полной реализации тестового сигнала.
Округлно вниз до ближайшего значения, кратного степени 2. Полученное значение составит размер буфера в байтах.
Таким образом, определен минимальный размер буфера АЦП, при котором алгоритм фильтрации коротких реализаций сигналов дает результаты, отличающиеся по точности не более чем на 5% по сравнению с фильтрацией полной реализации сигнала.
Из предыдущего графика видно, что 5% ошибки от полной реализации сигнала достигается при числе потоков= 23, что соответствует длительности отрезка 2300, log2(2300)= 11.1674, и , таким образом, минимальный размер буфера АЦП = 2^11=2048.
Далее составлена зависимость времени фильрации, а также времени измерения от размера отрезка.
Выяснено, что при размере отрезка 3435 длительность его фильтрации равна длительности его измерения, Округляя вниз до ближайшего значения, кратного степени 2, получаем значение 2048, и умножая на шаг дискретизации по времени (равный 200), получаем время наполнения буфера АЦП=409600, и 1/409600=2.4414e-006- максимальная частота опроса буфера АЦП. Таким образом достигается 2 цель исследования.
Далее, число отсчетов равно половине объема буфера АЦП, которое равно 2048/2=1024. Полученное в предыдущем пункте значение частоты опроса, деленное на количество значений (отсчетов) в буфере АЦП равно 2.3842e-009, и оно оказалось меньше 10 кГц, поэтому содержимое буфера необходимо фильтровать параллельно, разделяя его на 2 и более фрагментов, пока ошибка не превысит 5% ошибки фильтрации полной реализации тестового сигнала.
Ранее установлено, что 5% ошибки от полной реализации сигнала достигается при числе потоков= 23, и таким образом, Количество фрагментов буфера равно 23.
Литература
Гонсалес С. Цифровая обработка сигналов в среде МАТЛАБ. М.: Техносфера, 2009.
Гаскаров Д.В. Интеллектуальные информационные системы. М.: Высшая школа, 2003.
Конюшенко В.В. Начало работы с Matlab. – СПб: Истра, 2006. – 173 с.
Решение задач, возникающих в области цифровой обработки сигналов, требует большой экспериментальной работы, в которой приходится использовать специализированные алгоритмы и многократное тестирование с привлечением обширной базы различных данных.
Разработка алгоритмов обычно опирается на основательный теоретический фундамент, тем не менее, реальное приложение этих алгоритмов почти всегда требует определения конкретных параметров, редактирования отдельных частей алгоритмов и сравнения различных конкурирующих версий искомого решения.
Таким образом, выбор гибкой, всеохватывающей и хорошо документированной среды для разработки конкретных приложений является ключевым фактором, который влияет на цену и время разработки программного обеспечения, а также на компактность конечного программного продукта.
Система Matlab – это высокопроизводительный язык для технических расчетов. Он включает в себя вычисления, визуализацию и программирование в удобной среде, где задачи и решения выражаются в форме, близкой к математической.
Так же Matlab является интерактивной системой, в которой основным элементом данных является массив. Это позволяет решать различные задачи, связанные с техническими вычислениями, особенно в которых используются матрицы и вектора, в несколько раз быстрее, чем при написании программ с использованием «скалярных» языков программирования, таких как Си.
Вопрос-ответ:
Как разрабатываются многопоточные алгоритмы цифровой обработки сигналов?
Для разработки многопоточных алгоритмов цифровой обработки сигналов, сперва необходимо определить цели и задачи обработки сигналов. Затем производится анализ требований к алгоритмам обработки сигналов и выбор подходящих методов и технологий, в том числе и многопоточных. После этого начинается разработка алгоритмов, параллельных программ и систем с использованием многопоточности. Важно учесть особенности обрабатываемых сигналов, а также структуру и архитектуру системы обработки сигналов.
Что такое АЦП и как связано его использование с обработкой сигналов?
АЦП (аналого-цифровой преобразователь) - это устройство, которое преобразует аналоговый сигнал в цифровой формат. АЦП широко используется в системах обработки сигналов, так как позволяет считывать и анализировать аналоговые сигналы с помощью цифровых алгоритмов. Для обработки сигналов, полученных с АЦП, разрабатываются специальные алгоритмы цифровой обработки, которые могут использовать многопоточность.
Каким образом задаются высокочастотные и низкочастотные коэффициенты фильтра?
Высокочастотные и низкочастотные коэффициенты фильтра задаются с помощью графика, где на оси x откладывается частота, а на оси y - амплитуда. График представляет собой зависимость амплитуды от частоты, и по нему можно определить, какой коэффициент будет установлен на определенной частоте. Это позволяет настраивать фильтр для разных частот сигналов.
Что такое функция конволюции и как она задается?
Функция конволюции - это операция, выполняемая над двумя функциями, которая позволяет получить новую функцию. В контексте обработки сигналов, функция конволюции позволяет свернуть сигнал с фильтром и получить новый сигнал. Функция конволюции задается с помощью графика, где на оси x откладывается время, а на оси y - амплитуда.
Какие алгоритмы используются в разработке и исследовании многопоточных алгоритмов цифровой обработки сигналов?
В разработке и исследовании многопоточных алгоритмов цифровой обработки сигналов могут использоваться различные алгоритмы, такие как бабочка, фильтр Баттерворта и вейвлет-функции.
Какие параметры заданы для фильтра Баттерворта?
В фильтре Баттерворта заданы следующие параметры: верхняя граничная частота Фп, нижняя граничная частота Фс, порядок фильтра n и частота дискретизации сигнала Wн.
Каковы характеристики фильтра, заданные на графике?
На графике заданы частотные характеристики фильтра, где по оси X отображается частота, а по оси Y отображается амплитуда.
Какова функция конволюции, соответствующая фильтру?
Функция конволюции, соответствующая фильтру, задается графиком, где по оси X отображается время, а по оси Y отображается амплитуда.
Как выглядит результат конволюции сигнала с низкочастотной функцией?
Результат конволюции сигнала с низкочастотной функцией задан графиком, где по оси X отображается время, а по оси Y отображается амплитуда.
Какие алгоритмы цифровой обработки сигналов были исследованы и разработаны в статье?
В статье были исследованы и разработаны многопоточные алгоритмы цифровой обработки сигналов.
Какие параметры были заданы для фильтра в статье?
В статье были заданы следующие параметры для фильтра: Wp = 0.01, Ws = 0.1, n = 100, Wn = 'buttord'.