fdesign.bandpass

Объект спецификации полосового фильтра

Синтаксис

D = fdesign.bandpass
D = fdesign.bandpass(SPEC)
D = fdesign.bandpass(spec,specvalue1,specvalue2,...)
D = fdesign.bandpass(specvalue1,specvalue2,specvalue3,
specvalue4,...specvalue4,specvalue5,specvalue6)
D = fdesign.bandpass(...,Fs)
D = fdesign.bandpass(...,MAGUNITS)

Описание

D = fdesign.bandpass создает объект D спецификации полосового фильтра, применение значений по умолчанию для свойств Fstop1, Fpass1, Fpass2, Fstop2, Astop1, Apass, и Astop2 — одно возможное множество значений вы используете, чтобы задать полосовой фильтр.

D = fdesign.bandpass(SPEC) объект D построений и устанавливает его Specification свойство к SPEC. Записи в SPEC представляйте различные функции ответа фильтра, такие как порядок фильтра, которые управляют созданием фильтра. Действительные доступы для SPEC показываются ниже и используются, чтобы задать полосовой фильтр. Эти записи не являются чувствительными к регистру.

Примечание

Спецификации, отмеченные звездочкой, требуют программного обеспечения DSP System Toolbox™.

  • 'Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2' (spec по умолчанию)

  • 'N,F3dB1,F3dB2'

  • "N,F3dB1,F3dB2,Ap' *

  • 'N,F3dB1,F3dB2,Ast' *

  • 'N,F3dB1,F3dB2,Ast1,Ap,Ast2' *

  • 'N,F3dB1,F3dB2,BWp *

  • 'N,F3dB1,F3dB2,BWst' *

  • 'N,Fc1,Fc2'

  • 'N,Fc1,Fc2,Ast1,Ap,Ast2'

  • 'N,Fp1,Fp2,Ap'

  • 'N,Fp1,Fp2,Ast1,Ap,Ast2'

  • 'N,Fst1,Fp1,Fp2,Fst2'

  • 'N,Fst1,Fp1,Fp2,Fst2,C' *

  • 'N,Fst1,Fp1,Fp2,Fst2,Ap' *

  • 'N,Fst1,Fst2,Ast'

  • 'Nb,Na,Fst1,Fp1,Fp2,Fst2' *

Спецификации фильтра определяются следующим образом:

  • Ap — сумма пульсации позволена в полосе передачи. Также названный Apass.

  • Ast1 — затухание в первой полосе задерживания в децибелах (модули по умолчанию). Также названный Astop1.

  • Ast2 — затухание во второй полосе задерживания в децибелах (модули по умолчанию). Также названный Astop2.

  • BWp — пропускная способность полосы пропускания фильтра. Заданный в нормированных единицах частоты.

  • BWst — пропускная способность полосы задерживания фильтра. Заданный в нормированных единицах частоты.

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

    В спецификации 'N,Fst1,Fp1,Fp2,Fst2,C', вы не можете задать ограничения в обеих полосах задерживания и полосе пропускания одновременно. Можно задать ограничения в любом или двух полосах.

  • F3dB1 — частота среза для точки точки 3 дБ ниже значения полосы пропускания для первого сокращения. Заданный в нормированных единицах частоты. (БИХ-фильтры)

  • F3dB2 — частота среза для точки точки 3 дБ ниже значения полосы пропускания для второго сокращения. Заданный в нормированных единицах частоты. (БИХ-фильтры)

  • Fc1 — частота среза для точки точки 6 дБ ниже значения полосы пропускания для первого сокращения. Заданный в нормированных единицах частоты. (КИХ-фильтры)

  • Fc2 — частота среза для точки точки 6 дБ ниже значения полосы пропускания для второго сокращения. Заданный в нормированных единицах частоты. (КИХ-фильтры)

  • Fp1 — частота в ребре запуска полосы передачи. Заданный в нормированных единицах частоты. Также названный Fpass1.

  • Fp2 — частота в ребре конца полосы передачи. Заданный в нормированных единицах частоты. Также названный Fpass2.

  • Fst1 — частота в ребре запуска первой полосы задерживания. Заданный в нормированных единицах частоты. Также названный Fstop1.

  • Fst2 — частота в ребре запуска второй полосы задерживания. Заданный в нормированных единицах частоты. Также названный Fstop2.

  • N — порядок фильтра для КИХ-фильтров. Или и числитель и знаменатель заказывают для БИХ-фильтров, когда na и nb не обеспечиваются.

  • Na — порядок знаменателя для БИХ-фильтров

  • Nb — порядок числителя для БИХ-фильтров

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

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

Методы создания фильтра, которые применяются к изменению объекта спецификации полосового фильтра в зависимости от Specification. Используйте designmethods определить, какие методы разработки применяются к объекту и Specification значение свойства.

Используйте designopts определить проектные решения для данного метода разработки. Введите help(D,METHOD) в командной строке MATLAB®, чтобы получить подробную справку на проектных решениях для данного метода разработки, METHOD.

D = fdesign.bandpass(spec,specvalue1,specvalue2,...) создает объект D и устанавливает его спецификации во время создания.

D = fdesign.bandpass(specvalue1,specvalue2,specvalue3,
specvalue4,...specvalue4,specvalue5,specvalue6)
построения Dс Specification по умолчанию свойство, с помощью значений вы обеспечиваете как входные параметры для specvalue1,specvalue2,specvalue3,specvalue4,specvalue4,specvalue5, specvalue6 и specvalue7.

D = fdesign.bandpass(...,Fs) добавляет аргумент Fs, заданный в Гц, чтобы задать частоту дискретизации, чтобы использовать. В этом случае все частоты в спецификациях находятся в Гц также.

D = fdesign.bandpass(...,MAGUNITS) задает модули для любой спецификации величины, которую вы обеспечиваете во входных параметрах. MAGUNITS может быть один из

  • 'linear' — задайте величину в линейных модулях

  • 'dB' — задайте величину в дБ (децибелы)

  • 'squared' — задайте величину в блоках питания

Когда вы не используете MAGUNITS аргумент, fdesign принимает, что все величины находятся в децибелах. Обратите внимание на то, что fdesign хранилища все спецификации величины в децибелах (преобразующий в децибелы, когда необходимый) независимо от того, как вы задаете величины.

Примеры

свернуть все

Отфильтруйте сигнал дискретного времени с полосовым фильтром. Сигнал является суммой трех синусоид дискретного времени, π/8, π/2, и рад/выборкой 3π/4.

n = 0:159;
x = cos(pi/8*n)+cos(pi/2*n)+sin(3*pi/4*n);

Спроектируйте КИХ equiripple полосовой фильтр, чтобы удалить самые низкие и самые высокие синусоиды дискретного времени. Просмотрите частотную характеристику фильтра.

d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2', ...
    1/4,3/8,5/8,6/8,60,1,60);
Hd = design(d,'equiripple');

freqz(Hd)

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

y = filter(Hd,x);
freq = 0:(2*pi)/length(x):pi;
xdft = fft(x);
ydft = fft(y);

plot(freq/pi,abs(xdft(1:length(x)/2+1)))
hold on
plot(freq/pi,abs(ydft(1:length(x)/2+1)))
hold off
xlabel('Normalized Frequency (\times\pi rad/sample)')
legend('Original Signal','Bandpass Signal')

Спроектируйте БИХ-Фильтр Баттерворта порядка 10 с частотами на 3 дБ 1 и 1,2 кГц. Частота дискретизации составляет 10 кГц. Визуализируйте частотную характеристику фильтра.

d = fdesign.bandpass('N,F3dB1,F3dB2',10,1e3,1.2e3,1e4);
Hd = design(d,'butter');

fvtool(Hd)

Спроектируйте КИХ ограниченной полосы equiripple фильтр порядка 100 с полосой пропускания [1, 1.4] kHz. Оба значения затухания в полосе задерживания ограничиваются к 60 дБ. Частота дискретизации составляет 10 кГц.

d = fdesign.bandpass('N,Fst1,Fp1,Fp2,Fst2,C',100,800,1e3,1.4e3,1.6e3,1e4);
d.Stopband1Constrained = true;
d.Astop1 = 60;
d.Stopband2Constrained = true;
d.Astop2 = 60;

Hd = design(d,'equiripple');

Визуализируйте и измерьте ответ величины фильтра.

fvtool(Hd)

measure(Hd)
ans = 
Sample Rate             : 10 kHz     
First Stopband Edge     : 800 Hz     
First 6-dB Point        : 946.7621 Hz
First 3-dB Point        : 975.1807 Hz
First Passband Edge     : 1 kHz      
Second Passband Edge    : 1.4 kHz    
Second 3-dB Point       : 1.4248 kHz 
Second 6-dB Point       : 1.4533 kHz 
Second Stopband Edge    : 1.6 kHz    
First Stopband Atten.   : 60.0614 dB 
Passband Ripple         : 2.1443 dB  
Second Stopband Atten.  : 60.0399 dB 
First Transition Width  : 200 Hz     
Second Transition Width : 200 Hz     
 

Неравномерность в полосе пропускания - немного более чем 2 дБ. Поскольку проект ограничивает обе полосы задерживания, вы не можете ограничить неравномерность в полосе пропускания.

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

| | |

Представленный в R2009a

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