Как делать фильтры в matlab
Перейти к содержимому

Как делать фильтры в matlab

  • автор:

Функция фильтра в Matlab — Синтаксис и примеры функции фильтра в Matlab

Эта функция фильтрует последовательность данных с помощью цифрового фильтра, выходной сигнал фильтрации в основном сглаживает или обостряет сигнал (исключая определенный частотный диапазон). Прямо из II реализации сигнала (стандартное разностное уравнение). Существует четыре способа представления фильтров в Matlab следующим образом:

  1. Выход = фильтр (коэффициент b, коэффициент a, x)
  2. Выход = фильтр ((b, a, x, z)
  3. Фильтр (b, a, x, z, dim)
  4. F, zf = фильтр ()

Синтаксис и примеры

Ниже приведены синтаксис и примеры функции фильтра в Matlab:

1. Выход = фильтр (коэффициент b, коэффициент a, x)
  • В этом моделировании использовалась рациональная передаточная функция для входного сигнала ‘x’ В приведенном выше уравнении a и b являются коэффициентами числителя и знаменателя сигнала.
  • В этом случае обязательно, чтобы (1) равнялось 1, поэтому мы нормализуем коэффициент до 1, чтобы удовлетворить этому условию. A (1) не должен быть равен нулю, тогда только мы можем нормализовать коэффициент.
  • Выход фильтра зависит от типа входа «х».
  • Если input ‘x’ — vector, то мы получаем output ‘z’ как вектор.
  • Если входной сигнал ‘x’ является матрицей, то мы получаем выходной сигнал ‘z’ относительно каждого столбца.
  • И если это многомерный сигнал, то мы получаем вывод относительно первого массива.

пример

T = linspace(-pi, pi, 100 );
X = sin( t ) + 0.50 * rand ( size( t )) ;
w_size = 5;
b = ( 1 /w_size ) * ones( 1, w_size ) ;
a = 1 ;
f = filter ( coeff b, coeff a, x ) ;
plot ( t, x )
hold on
plot ( t, f )
legend ( ‘Input ‘, ‘Filter Data’)

Выход:

2. F = фильтр ((b, a, x, z)
  • Если при проектировании существуют ограничения памяти, то некоторые фильтры учитывают начальное и конечное состояние.
  • Эти фильтры создают большие данные и делят ввод на два сегмента.

пример

x = randn( 110000, 1 ); — — — creation of input sequence x (1 to 110000)
x1 = x ( 1 : 51000 ) ; — — — splitting the seq. x1= 1 to 51000
x2 = x ( 51001 : end ) ; — — — second seg is x2 = 51000 to 110000
b = ( 4, 3 ) ; — — — numerator coefficient
a = ( 1, 0.4 ) ; — — — denominator coefficient
( f1, zf ) = filter ( b, a, x1 ) ; — — — filter function
f2 = filter ( b, a, x2, zf ) ; — — — filter function
f = filter ( b, a, x ) ; — — — filter function
isequal( f, ( f1 ; f2 ) ) — — — filter function matching

Выход:

Вывод приведенного выше кода равен 1, что означает логический 1, логический 1 является истинным условием.

3. Фильтр (b, a, x, z, dim)

Этот тип фильтра используется для проектирования матрицы ввода и вывода.

пример

rng default
x = rand ( 3, 10 ) ; — — — creation of input sequence 3 by 10
b = 1 ; — — — coefficient of numerator
a = ( 4 -0 .1 ) ; — — — coefficient of numerator
f = filter ( b, a, x, ( ), 2 ) ; — — — filter function
t = 0 : length (input seq. )-1 ;
plot ( t, x ( 1, : ) ) — — — input signal
hold on
plot ( t, f ( 1, : ) ) — — — output signal
legend(‘Input ‘, ‘Filter output’)

Выход:

4. F, zf = фильтр ()

Если есть ограничение памяти, тогда этот тип фильтра используется, он использовал начальные и конечные условия и делит входной сигнал на два сегмента.

пример

x = randn ( 110000, 1 ) ; — — — create random signal
x1 = x ( 1 : 51000 ) ; — — — splits signal from 1 to 51000
x2 = x ( 51001 : end ) ; — — — second input signal 51001 to 110000
b = ( 6, 3 ); . — — -numerator coefficient
a = ( 1, 0.9 ) ; — — — denominator coefficient
( f1, zf ) = filter ( b, a, x1 ) ; — — — filter function
f2 = filter ( b, a, x2, zf ) ; . — — — filter function
f = filter ( b, a, x) ; — — — .filter function
isequal ( f, ( f1 ; f2 ) ) — — — output signal matching

Выход:

Выход вышеупомянутого сигнала является логическим 1, что означает, что условие истинно.

Вывод — функция фильтра в Matlab

Функция фильтра в основном используется для реализации фильтра скользящей средней. Фильтрация скользящих средних — самый простой и распространенный метод сглаживания. фильтрация также используется для удаления шума.

Рекомендуемые статьи

Это руководство по функции фильтра в Matlab. Здесь мы обсуждаем введение и различные примеры функции фильтра в matlab вместе с его синтаксисом. Вы также можете посмотреть следующие статьи, чтобы узнать больше

  1. Встроенные функции в Matlab
  2. Функции передачи в Matlab
  3. Анонимные функции в Matlab
  4. MATLAB Интервью Вопросы
  5. MATLAB Функции
  6. Matlab Compiler | Приложения Matlab Compiler

Документация

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

a ( 1 ) y ( n ) = b ( 1 ) x ( n ) + b ( 2 ) x ( n − 1 ) + … + b ( N b ) x ( n − N b + 1 ) − a ( 2 ) y ( n − 1 ) − … − a ( N a ) y ( n − N a + 1 )

В этом уравнении a и b являются векторами коэффициентов фильтра, Na является порядком фильтра обратной связи, и Nb является порядком фильтра feedforward. n является индексом текущего элемента x. Вывод y (n) является линейной комбинацией текущих и предыдущих элементов x и y.

Функция filter использует заданные векторы коэффициентов a и b, чтобы отфильтровать входные данные x. Для получения дополнительной информации о разностных уравнениях, описывающих фильтры, см. [1].

Фильтр скользящего среднего значения данных трафика

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

Следующее разностное уравнение описывает фильтр, который усредняет зависящие от времени данные относительно текущего часа и трех предыдущих часов данных.

y ( n ) = 1 4 x ( n ) + 1 4 x ( n — 1 ) + 1 4 x ( n — 2 ) + 1 4 x ( n — 3 )

Импортируйте данные, которые описывают поток трафика в зависимости от времени, и присвойте первый столбец количеств автомобиля к векторному x .

load count.dat x = count(:,1);

Создайте векторы коэффициентов фильтра.

a = 1; b = [1/4 1/4 1/4 1/4];

Вычислите 4-часовое скользящее среднее значение данных и отобразите на графике и исходные данные и отфильтрованные данные.

y = filter(b,a,x); t = 1:length(x); plot(t,x,'--',t,y,'-') legend('Original Data','Filtered Data')

Изменение амплитуды данных

Этот пример показывает, как изменить амплитуду вектора данных путем применения передаточной функции.

В цифровой обработке сигналов фильтры часто представляются передаточной функцией. Z-преобразование разностного уравнения

a ( 1 ) y ( n ) = b ( 1 ) x ( n ) + b ( 2 ) x ( n — 1 ) + . . . + b ( N b ) x ( n — N b + 1 ) — a ( 2 ) y ( n — 1 ) — . . . — a ( N a ) y ( n — N a + 1 )

следующая передаточная функция.

Y ( z ) = H ( z — 1 ) X ( z ) = b ( 1 ) + b ( 2 ) z — 1 + . . . + b ( N b ) z — N b + 1 a ( 1 ) + a ( 2 ) z — 1 + . . . + a ( N a ) z — N a + 1 X ( z )

Используйте передаточную функцию

H ( z — 1 ) = b ( z — 1 ) a ( z — 1 ) = 2 + 3 z — 1 1 + 0 . 2 z — 1

изменить амплитуду данных в count.dat .

Загрузите данные и присвойте первый столбец векторному x .

load count.dat x = count(:,1);

Создайте векторы коэффициентов фильтра согласно передаточной функции H ( z — 1 ) .

a = [1 0.2]; b = [2 3];

Вычислите отфильтрованные данные и отобразите на графике и исходные данные и отфильтрованные данные. Этот фильтр, в основном, изменяет амплитуду исходных данных.

y = filter(b,a,x); t = 1:length(x); plot(t,x,'--',t,y,'-') legend('Original Data','Filtered Data')

Ссылки

[1] Оппенхейм, Алан V, Рональд В. Шафер и Джон Р. Бак. Обработка сигналов дискретного времени. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1999.

Смотрите также

Похожие темы

Документация MATLAB
Поддержка
  • MATLAB Answers
  • Помощь в установке
  • Отчеты об ошибках
  • Требования к продукту
  • Загрузка программного обеспечения

© 1994-2019 The MathWorks, Inc.

  • Условия использования
  • Патенты
  • Торговые марки
  • Список благодарностей

Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика

1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.

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

3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.

4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.

5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.

filter

y = filter( b , a , x ) filters the input data x using a rational transfer function defined by the numerator and denominator coefficients b and a .

If a(1) is not equal to 1 , then filter normalizes the filter coefficients by a(1) . Therefore, a(1) must be nonzero.

  • If x is a vector, then filter returns the filtered data as a vector of the same size as x .
  • If x is a matrix, then filter acts along the first dimension and returns the filtered data for each column.
  • If x is a multidimensional array, then filter acts along the first array dimension whose size does not equal 1.

y = filter( b , a , x , zi ) uses initial conditions zi for the filter delays. The length of zi must equal max(length(a),length(b))-1 .

y = filter( b , a , x , zi , dim ) acts along dimension dim . For example, if x is a matrix, then filter(b,a,x,zi,2) returns the filtered data for each row.

[ y , zf ] = filter( ___ ) also returns the final conditions zf of the filter delays, using any of the previous syntaxes.

Examples

Moving-Average Filter

A moving-average filter is a common method used for smoothing noisy data. This example uses the filter function to compute averages along a vector of data.

Create a 1-by-100 row vector of sinusoidal data that is corrupted by random noise.

t = linspace(-pi,pi,100); rng default %initialize random number generator x = sin(t) + 0.25*rand(size(t));

A moving-average filter slides a window of length w i n d o w S i z e along the data, computing averages of the data contained in each window. The following difference equation defines a moving-average filter of a vector x :

y ( n ) = 1 w i n d o w S i z e ( x ( n ) + x ( n — 1 ) + . . . + x ( n — ( w i n d o w S i z e — 1 ) ) ) .

For a window size of 5, compute the numerator and denominator coefficients for the rational transfer function.

windowSize = 5; b = (1/windowSize)*ones(1,windowSize); a = 1;

Find the moving average of the data and plot it against the original data.

y = filter(b,a,x); plot(t,x) hold on plot(t,y) legend('Input Data','Filtered Data')

Русские Блоги

Фильтр нижних частот — это метод фильтрации. Согласно правилу, низкочастотные сигналы могут проходить нормально, а высокочастотные сигналы, превышающие установленный порог, блокируются и ослабляются. Однако величина блокировки и затухания будет варьироваться в зависимости от разных частот и различных процедур (целей) фильтрации. Иногда его называют высокочастотным или высокочастотным фильтром. Низкочастотная фильтрация противоположна высокочастотной фильтрации.

Фильтр низких частот

Фильтрацию нижних частот можно рассматривать просто: установите точку частоты, когда частота сигнала выше этой частоты, он не может пройти. В цифровом сигнале эта точка частоты также являетсяЧастота среза, Когда частотная область выше, чем частота среза, всем значениям присваивается 0. Поскольку в этом процессе проходят все низкочастотные сигналы, это называется фильтрацией нижних частот.

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

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

Фильтр низких частот

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

Концепция фильтра нижних частот имеет множество различных форм, включая электронные схемы (такие как фильтры шипения, используемые в звуковом оборудовании, цифровые алгоритмы сглаживания данных, акустические барьеры, размытие изображения и т. Д.). Оба инструмента проходят Устранение кратковременных колебаний и сохранение долгосрочных тенденций развития обеспечивает плавную форму сигнала.Роль фильтров нижних частот в обработке сигналов эквивалентна роли других областей, таких как скользящее среднее в финансовой области; среди них много фильтров нижних частот, наиболее распространены фильтр Баттерворта и фильтр Чебышева.

Затем используйте программу Matlab для разработки фильтра нижних частот для создания файла m следующим образом:

function y=lowp(x,f1,f3,rp,rs,Fs) % Фильтр нижних частот % Меры предосторожности при использовании: диапазон выбора частоты среза полосы пропускания или полосы задерживания не может превышать половину частоты дискретизации. % То есть значения f1 и f3 должны быть меньше Fs / 2 % x: последовательность, требующая полосовой фильтрации % f 1: частота среза полосы пропускания % f 3: частота среза стоп-полосы % rp: установка номера DB затухания в области боковой полосы % rs: установка номера DB затухания зоны среза % Fs: частота дискретизации последовательности x wp=2*pi*f1/Fs; ws=2*pi*f3/Fs; % Дизайн фильтра Чебышева; [n,wn]=cheb1ord(wp/pi,ws/pi,rp,rs); [bz1,az1]=cheby1(n,rp,wp/pi); % Просмотр кривой проектного фильтра [h,w]=freqz(bz1,az1,256,Fs); h=20*log10(abs(h)); figure; plot (w, h); title ('Кривая полосы пропускания текущего фильтра нижних частот'); сетка включена; y = filter (bz1, az1, x);% последовательности y, полученной после фильтрации последовательности x end 

Для удобства специально инкапсулирована функция рисования спектрограмм, имя функции — plot_fft. Все спектрограммы связанных функций будут вызываться напрямую.Чтобы избежать проблем с вызовом функции, m-файл, созданный этой функцией, сохраняется в текущую папку, в которой запущена программа. Ниже приведен дизайн и реализация функции plot_fft.

% Изобразите амплитудный спектр и спектр мощности сигнала function plot_fft(y,fs,style,varargin) % Если style = 1, спектр амплитуды изображения; когда style = 2, рисовать спектр мощности; когда style = other, тогда спектр амплитуды цветка и спектр мощности % Если style = 1, вы также можете ввести еще 2 необязательных параметра % Необязательные входные параметры используются для управления полосой частот, которую необходимо просмотреть. % Первый - это начальная точка полосы частот, которую необходимо просмотреть. % Второй - конец полосы частот, которую необходимо просмотреть. % Другие стили не имеют дополнительных входных параметров, если вход находится в неправильном положении nfft = 2 ^ nextpow2 (length (y));% найти наибольшее значение показателя степени 2 больше числа y (автоматически вычислить наилучший размер шага БПФ nfft) % nfft = 1024;% искусственно установить размер шага БПФ nfft y = y-mean (y);% удалить компонент постоянного тока y_ft = fft (y, nfft);% DFT сигнал y для получения частотно-амплитудного распределения y_p = y_ft. * con (y_ft) / nfft;% Cony () функция предназначена для нахождения сопряженного комплексного числа функции y, а сопряженное комплексное число действительного числа есть само. y_f = fs * (0: nfft / 2-1) / nfft; Последовательность соответствующей частоты после преобразования% T % y_p = y_ft. * con (y_ft) / nfft; Функция% conc () предназначена для нахождения сопряженного комплексного числа функции y, а сопряженное комплексное число действительного числа есть само. if style==1 if nargin==3 % plot (y_f, abs (y_ft (1: nfft / 2)));% Как рисовать БПФ на форуме plot (y_f, 2 * abs (y_ft (1: nfft / 2)) / length (y)); Метод отрисовки БПФ с помощью% matlab ylabel ('амплитуда'); xlabel ('частота'); title ('спектр амплитуды сигнала'); else f1=varargin; fn=varargin; ni=round(f1 * nfft/fs+1); na=round(fn * nfft/fs+1); plot(y_f(ni:na),abs(y_ft(ni:na)*2/nfft)); ylabel ('амплитуда'); xlabel ('частота'); title ('спектр амплитуды сигнала'); end elseif style==2 plot(y_f,y_p(1:nfft/2)); ylabel ('Спектральная плотность мощности'); xlabel ('Частота'); title ('Спектр мощности сигнала'); else subplot(211);plot(y_f,2*abs(y_ft(1:nfft/2))/length(y)); ylabel ('амплитуда'); xlabel ('частота'); title ('спектр амплитуды сигнала'); subplot(212);plot(y_f,y_p(1:nfft/2)); ylabel ('Спектральная плотность мощности'); xlabel ('Частота'); title ('Спектр мощности сигнала'); end end 
Конструкция корпуса ФНЧ:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Конструкция корпуса фильтра нижних частот clear all; clc; close all; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % rp = 0,1; rs = 20;% значение DB затухания на стороне полосы пропускания и значение DB затухания на стороне полосы задерживания (установите параметры в соответствии с реальной ситуацией, это тестовое значение по умолчанию) % Fs = 2000;% выборки fs = 2000; частота дискретизации% t = (1: fs) / fs;% времени выборки ff1 = 100; частота сигнала% 100, 400 ff2=400; x = sin (2 * pi * ff1 * t) + sin (2 * pi * ff2 * t);% x последовательность с проверкой figure; subplot (211); plot (t, x);% исходное изображение последовательности. subplot (212); plot_fft (x, fs, 1);% исходное изображение соответствует частотному спектру % Тест низкого прохождения % y=filter(bz1,az1,x); y = lowp (x, 300,350,0.1,20, fs);% проверка функции фильтра нижних частот. figure; subplot (211); plot (t, y);% выходная последовательность фильтра нижних частот subplot (212); plot_fft (y, fs, 1);% выходная последовательность фильтра нижних частот соответствует частотному спектру Выше была указана основная необходимость вызова функции% plot_fft (). 
подводить итоги:

С помощью простого теста три вышеупомянутых изображения представляют собой частотно-временную диаграмму до и после фильтрации и диаграмму характеристической кривой фильтрации фильтра. Из рисунка видно, что фильтр нижних частот успешно оставил низкочастотные составляющие 100 Гц и удалил ненужные высокочастотные составляющие. Осознайте основную функцию фильтра нижних частот.

2. Фильтр высоких частот

Фильтр верхних частот (фильтр верхних частот) — это метод фильтрации. Правило состоит в том, что высокочастотные сигналы могут проходить нормально, а низкочастотные сигналы ниже установленного порога блокируются и ослабляются. Однако величина блокировки и затухания будет варьироваться в зависимости от разных частот и различных процедур (целей) фильтрации. Иногда его называют фильтром низких частот. Фильтрация высоких частотФильтр низких частотОппозиция.

Фильтр высоких частот

Фильтрация верхних частот предназначена только для частотных компонентов ниже заданной частоты.Затухание, И позвольте частотным компонентам выше частоты среза проходить безСдвиг фазыПроцесс фильтрации. В основном используется для устранения низкочастотного шума, также называемого фильтром низких частот.

Фильтрация верхних частот относится к фильтрации [частотной области], которая сохраняет высокие частоты и подавляет низкие частоты. Это способ [повышения резкости изображения].

Фильтр высоких частот

Фильтр высоких частот представляет собой комбинацию конденсаторов, индуктивностей и резисторов, которые позволяют проходить компонентам сигнала выше определенной частоты, при этом значительно подавляя компоненты сигнала ниже этой частоты. Его характеристики можно описать импульсной характеристикой и частотной характеристикой во временной и частотной областях соответственно. Последняя выражается в виде функции с частотой в качестве независимой переменной. Как правило, это комплексная функция с комплексной переменной jω в качестве независимой переменной, выражаемой через H (jω). Его модуль H (ω) и аргумент φ (ω) являются функциями угловой частоты ω, которые называются системнымиАмплитудно-частотная характеристика»И» фазо-частотная характеристика «, которые соответственно представляют изменение амплитуды и изменение фазы, с которыми сталкиваются компоненты сигнала разных частот в источнике возбуждения при прохождении через систему. Можно доказать, что» частотная характеристика «системы является система»Импульсивный ответ»изпреобразование Фурье. Когда линейная пассивная система может быть выражена линейным дифференциальным уравнением N-го порядка, частотная характеристика H (jω) является рациональной дробью, а ее числитель и знаменатель соответствуют правой и левой частям дифференциального уравнения соответственно.

Затем используйте программу Matlab для разработки фильтра высоких частот для создания файла m следующим образом:

function y=highp(x,f1,f3,rp,rs,Fs) % Фильтр высоких частот % Меры предосторожности при использовании: диапазон выбора частоты среза полосы пропускания или полосы задерживания не может превышать половину частоты дискретизации. % То есть значения f1 и f3 должны быть меньше Fs / 2 % x: последовательность, требующая полосовой фильтрации % f 1: частота среза полосы пропускания % f 2: частота среза стоп-полосы % rp: установка номера DB затухания в области боковой полосы % rs: установка номера DB затухания зоны среза % Fs: частота дискретизации последовательности x wp=2*pi*f1/Fs; ws=2*pi*f3/Fs; % Дизайн фильтра Чебышева; [n,wn]=cheb1ord(wp/pi,ws/pi,rp,rs); [bz1,az1]=cheby1(n,rp,wp/pi,'high'); % Просмотр кривой проектного фильтра [h,w]=freqz(bz1,az1,256,Fs); h=20*log10(abs(h)); figure; plot (w, h); title ('Кривая полосы пропускания текущего фильтра верхних частот'); сетка включена; y=filter(bz1,az1,x); end 
Конструкция корпуса фильтра высоких частот:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Программа тестирования корпуса фильтра верхних частот clear all; clc; close all; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fs = 2000; частота дискретизации% t = (1: fs) / fs;% времени выборки ff1 = 100; частота сигнала% 100, 400 ff2=400; x = sin (2 * pi * ff1 * t) + sin (2 * pi * ff2 * t);% x последовательность с проверкой figure; subplot (211); plot (t, x);% исходный график последовательности. subplot (212); plot_fft (x, fs, 1);% исходное изображение соответствует частотному спектру % Тест Qualcomm z = highp (x, 350,300,0.1,20, fs);% проверка функции фильтра верхних частот. figure; subplot (211); plot (t, z);% график выходной последовательности фильтра верхних частот subplot (212); plot_fft (z, fs, 1);% выходная последовательность фильтра верхних частот соответствует частотному спектру 
подводить итоги:

С помощью простого теста три вышеупомянутых изображения представляют собой частотно-временную диаграмму до и после фильтрации и диаграмму характеристической кривой фильтрации фильтра. Из рисунка видно, что фильтр верхних частот успешно оставил высокочастотные составляющие 400 Гц и удалил нежелательные низкочастотные составляющие. Осознайте основную функцию фильтра высоких частот.

3. Полосовой фильтр

Полосовой фильтр — это устройство, которое позволяет волнам определенной полосы частот проходить через нее, экранируя другие полосы частот. Например, бак RLC представляет собой аналоговый полосовой фильтр.

определение:

Полосовой фильтрОтносится к прохождению через определенный частотный диапазон.частотаКомпоненты, но частотные составляющие в других диапазонахзатуханиеНа очень низкий уровеньфильтр,противПолосовой стоп-фильтрПонятие относительное. Примером аналогового полосового фильтра является цепь резистор-индуктор-конденсатор (цепь RLC). Эти фильтры также можно использоватьФильтр низких частотсФильтр высоких частотОбъедините, чтобы произвести.

Принцип работы:

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

На самом деле идеального полосового фильтра не существует. Фильтр не может полностью ослабить все частоты за пределами желаемого частотного диапазона, особенно есть диапазон, который ослабляется, но не изолирован за пределами желаемой полосы пропускания. Это обычно называют феноменом спада фильтра, и используется каждый десятыйУмножение частотыАмплитуда затухания выражается в дБ. Как правило, при проектировании фильтра следует стремиться к тому, чтобы диапазон спада был как можно более узким, чтобы характеристики фильтра были ближе к проектным. Однако по мере того, как диапазон спада становится все меньше и меньше, полоса пропускания перестает быть плоской и начинают появляться «рябь». Это явление особенно заметно на краях полосы пропускания. Этот эффект называетсяФеномен Гиббса。

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

Затем используйте программу Matlab для разработки полосового фильтра для создания файла m следующим образом:

function y=bandp(x,f1,f3,fsl,fsh,rp,rs,Fs) % Полосовой фильтр % Меры предосторожности при использовании: диапазон выбора частоты среза полосы пропускания или полосы останова и частота дискретизации не могут превышать половину частоты дискретизации. % То есть значение f1, f3, fs1, fsh меньше Fs / 2 % x: последовательность, требующая полосовой фильтрации % f 1: левая граница полосы пропускания % f 3: правая граница полосы пропускания % fs1: левая граница отсечки затухания % fsh: правая граница отсечки распада % rp: установка номера DB затухания в области боковой полосы % rs: установка номера DB затухания зоны среза % Fs: частота дискретизации последовательности x wp1=2*pi*f1/Fs; wp3=2*pi*f3/Fs; wsl=2*pi*fsl/Fs; wsh=2*pi*fsh/Fs; wp=[wp1 wp3]; ws=[wsl wsh]; % Дизайн фильтра Чебышева; [n,wn]=cheb1ord(ws/pi,wp/pi,rp,rs); [bz1,az1]=cheby1(n,rp,wp/pi); % Просмотр кривой проектного фильтра [h,w]=freqz(bz1,az1,256,Fs); h=20*log10(abs(h)); рисунок; график (ш, в); заголовок ('Кривая полосы пропускания разработанного фильтра'); сетка включена; y=filter(bz1,az1,x); end 
Конструкция корпуса полосового фильтра:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Программа испытаний конструкции корпуса полосового фильтра clear all; clc; close all; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % f1 = 300; f3 = 500;% верхний и нижний пределы частоты среза полосы пропускания % fsl = 200; fsh = 600;% верхний и нижний предел частоты среза полосы заграждения % rp = 0,1; rs = 30; значение DB затухания на стороне полосы пропускания и значение DB затухания на стороне полосы пропускания % Fs = 2000;% выборки fs = 2000; частота дискретизации% t = (1: fs) / fs;% времени выборки ff1 = 100; частота сигнала% 100, 400, 700 ff2=400; ff3=700; x = sin (2 * pi * ff1 * t) + sin (2 * pi * ff2 * t) + sin (2 * pi * ff3 * t);% x последовательность с проверкой figure; subplot (211); plot (t, x);% исходный график последовательности. subplot (212); plot_fft (x, fs, 1);% исходное изображение соответствует частотному спектру % y=filter(bz1,az1,x); % Bandpass test y = bandp (x, 300,500,200,600,0.1,30, fs); проверка функции полосового фильтра%. figure; подзаголовок (211); график (t, y); график выходной последовательности% полосового фильтра subplot (212); plot_fft (y, fs, 1);% выходная последовательность полосового фильтра соответствует частотному спектру 
подводить итоги:

С помощью простого теста три вышеупомянутых изображения представляют собой частотно-временную диаграмму до и после фильтрации и диаграмму характеристической кривой фильтрации фильтра. Из рисунка видно, что полосовой фильтр успешно оставил компоненты в полосе пропускания 400 Гц и удалил нежелательные компоненты полосы. Реализуйте основные функции полосового фильтра.

4. Ленточный стоп-фильтр.

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

определение:

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

Затем используйте программу Matlab для разработки полосового фильтра для создания файла m следующим образом:

function y=bands(x,f1,f3,fsl,fsh,rp,rs,Fs) % Фильтр остановки полосы % Меры предосторожности при использовании: диапазон выбора частоты среза полосы пропускания или полосы останова и частота дискретизации не могут превышать половину частоты дискретизации. % То есть значение f1, f3, fs1, fsh меньше Fs / 2 % x: последовательность, требующая полосовой фильтрации % f 1: левая граница полосы пропускания % f 3: правая граница полосы пропускания % fs1: левая граница отсечки затухания % fsh: правая граница отсечки распада % rp: установка номера DB затухания в области боковой полосы % rs: установка номера DB затухания зоны среза % FS: частота дискретизации последовательности x wp1=2*pi*f1/Fs; wp3=2*pi*f3/Fs; wsl=2*pi*fsl/Fs; wsh=2*pi*fsh/Fs; wp=[wp1 wp3]; ws=[wsl wsh]; % Дизайн фильтра Чебышева; [n,wn]=cheb1ord(ws/pi,wp/pi,rp,rs); [bz1,az1]=cheby1(n,rp,wp/pi,'stop'); % Просмотр кривой проектного фильтра [h,w]=freqz(bz1,az1,256,Fs); h=20*log10(abs(h)); рисунок; график (ш, в); заголовок ('Кривая полосы пропускания разработанного фильтра'); сетка включена; y=filter(bz1,az1,x); end 
Конструкция корпуса полосового заградительного фильтра:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Программа испытаний конструкции корпуса полосового ограничивающего фильтра clear all; clc; close all; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % f1 = 300; f3 = 500;% верхний и нижний пределы частоты среза полосы пропускания % fsl = 200; fsh = 600;% верхний и нижний предел частоты среза полосы заграждения % rp = 0,1; rs = 30; значение DB затухания на стороне полосы пропускания и значение DB затухания на стороне полосы пропускания % Fs = 2000;% выборки fs = 1000; частота дискретизации% t = (1: fs) / fs;% времени выборки ff1 = 100; частота сигнала% 100, 400, 700 ff2=150; ff3=200; x = sin (2 * pi * ff1 * t) + sin (2 * pi * ff2 * t) + sin (2 * pi * ff3 * t);% x последовательность с проверкой figure; subplot (211); plot (t, x);% исходный график последовательности. subplot (212); plot_fft (x, fs, 1);% исходное изображение соответствует частотному спектру % Bandpass test y = диапазоны (x, 110,190,140,160,0.1,30, fs); проверка функции полосового фильтра%. figure; подзаголовок (211); график (t, y); график выходной последовательности% полосового фильтра subplot (212); plot_fft (y, fs, 1);% выходная последовательность полосового фильтра соответствует частотному спектру 
подводить итоги:

С помощью простого теста три вышеупомянутых изображения представляют собой частотно-временную диаграмму до и после фильтрации и диаграмму характеристической кривой фильтрации фильтра. Из рисунка видно, что полосовой фильтр успешно удалил компоненты полосы пропускания 150 Гц и оставил требуемые компоненты полосы частот. Осознайте основную функцию полосового стоп-фильтра.

Интеллектуальная рекомендация

Часто используемые фильтры Spring Web 5.1.2: CharacterEncodingFilter

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

django-template language-DTL часто используемые фильтры

DTL фильтр добавить фильтр Исходный код вырезать фильтр дата фильтр-фильтр время default, default_if_none по умолчанию default_if_none по умолчанию нет первый, последний фильтр (не может передавать па.

033: Часто используемые фильтры DTL (2)

фильтр по дате: Фильтр даты: форматирование даты в строку в соответствии с указанным форматом. Пример кода выглядит следующим образом: Более общие методы форматирования времени см. В таблице ниже: &nb.

Характеристики нескольких часто используемых пассивных фильтров

Недостатки пассивного фильтра: Плохая грузоподъемность, без больших эффектов, неудовлетворительные характеристики, а не крутые края и взаимодействие друг с другом на всех уровнях. Фильтр представляет .

Подробное объяснение фильтров web.xml и демонстрация наиболее часто используемых фильтров

[align = center] [size = large] [color = red] [b] сведения о фильтре web.xml [/ b] [/ color] [/ size] [/ align ] [color = darkred] [b] 1. Знакомство с фильтром (что это такое) [/ b] [/ color] [b] [col.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *