Визуализируйте частотную характеристику фильтров DSP
fvtool( отображает ответ величины Системы фильтра object™.sysobj)
fvtool( отображает ответ, который задан опциями.sysobj,options)
Например, чтобы визуализировать импульсную характеристику КИХ фильтруют Системный объект, устанавливают options к 'impulse'.
Fs = 96e3; filtSpecs = fdesign.lowpass(20e3,22.05e3,1,80,Fs);
firlp2 = design(filtSpecs,'equiripple','SystemObject',true);
fvtool(firlp2,'impulse');Для более входных опций смотрите fvtool.
fvtool(____, визуализирует ответ фильтра с каждым заданным набором свойств к заданному значению.Name,Value)
Для более входных опций смотрите fvtool.
Создайте децимирующий фильтр полуполосы lowpass для данных, произведенных на уровне 44,1 кГц. Уровень выходных данных является 1/2 входной уровень выборки, или 22,05 кГц. Задайте порядка фильтра, чтобы быть 52 с шириной перехода 4,1 кГц.
Fs = 44.1e3; filterspec = 'Filter order and transition width'; Order = 52; TW = 4.1e3; firhalfbanddecim =dsp.FIRHalfbandDecimator('Specification',filterspec, ... 'FilterOrder',Order, ... 'TransitionWidth',TW, ... 'SampleRate',Fs);
Постройте импульсную характеристику. Коэффициент нулевого порядка задерживается 26 выборок, который равен групповой задержке фильтра. Это дает к причинному фильтру полуполосы.
fvtool(firhalfbanddecim,'Analysis','impulse')

Постройте величину и фазовый отклик.
fvtool(firhalfbanddecim,'Analysis','freq')

Создайте КИХ минимального порядка фильтр lowpass для данных, произведенных на уровне 44,1 кГц. Задайте частоту полосы пропускания 8 кГц, частоту полосы задерживания 12 кГц, неравномерность в полосе пропускания 0,1 дБ и затухание в полосе задерживания 80 дБ.
Fs = 44.1e3; filtertype = 'FIR'; Fpass = 8e3; Fstop = 12e3; Rp = 0.1; Astop = 80; FIRLPF = dsp.LowpassFilter('SampleRate',Fs, ... 'FilterType',filtertype, ... 'PassbandFrequency',Fpass, ... 'StopbandFrequency',Fstop, ... 'PassbandRipple',Rp, ... 'StopbandAttenuation',Astop);
Спроектируйте БИХ минимального порядка фильтр lowpass с теми же свойствами как КИХ фильтр lowpass. Измените FilterType свойство клонированного фильтра к IIR.
IIRLPF = clone(FIRLPF);
IIRLPF.FilterType = 'IIR';Постройте импульсную характеристику КИХ фильтр lowpass. Коэффициент нулевого порядка задерживается 19 выборками, который равен групповой задержке фильтра. КИХ фильтр lowpass является причинным КИХ-фильтром.
fvtool(FIRLPF,'Analysis','impulse')

Постройте импульсную характеристику БИХ фильтр lowpass.
fvtool(IIRLPF,'Analysis','impulse')

Постройте величину и фазовый отклик КИХ фильтр lowpass.
fvtool(FIRLPF,'Analysis','freq')

Постройте величину и фазовый отклик БИХ фильтр lowpass.
fvtool(IIRLPF,'Analysis','freq')

Вычислите стоимость реализации КИХ фильтр lowpass.
cost(FIRLPF)
ans = struct with fields:
NumCoefficients: 39
NumStates: 38
MultiplicationsPerInputSample: 39
AdditionsPerInputSample: 38
Вычислите стоимость реализации БИХ фильтр lowpass. БИХ-фильтр более эффективен, чтобы реализовать, чем КИХ-фильтр.
cost(IIRLPF)
ans = struct with fields:
NumCoefficients: 18
NumStates: 14
MultiplicationsPerInputSample: 18
AdditionsPerInputSample: 14
Вычислите групповую задержку КИХ фильтр lowpass.
grpdelay(FIRLPF)

Вычислите групповую задержку БИХ фильтр lowpass. КИХ-фильтр имеет постоянную групповую задержку (линейная фаза), в то время как ее БИХ-дубликат не делает.
grpdelay(IIRLPF)

sysobj — Введите фильтрВведите фильтр в виде одного из следующих Системных объектов фильтра:
Пример: firFilt = dsp.FIRFilter('Numerator', fir1(130, 2000/(8000/2))); fvtool(firFilt)
options — Отфильтруйте аналитические опции'magnitude' (значение по умолчанию) | 'phase' | 'freq' | 'grpdelay' | 'phasedelay' | 'impulse' | 'step' | 'polezero' | 'coefficients' | 'info' | 'magestimate' | 'noisepower'Отфильтруйте аналитические опции в виде одного из следующего:
'magnitude' – Ответ величины
'phase' – Фазовый отклик
'freq' – Частотная характеристика
'grpdelay' – Групповая задержка
'phasedelay' – Задержка фазы
'impulse' – Импульсная характеристика
'step' – Переходной процесс
'polezero' – Нулевой график полюса
'coefficients' – Содействующий вектор
'info' – Отфильтруйте информацию
'magestimate' – Оценка ответа величины
'noisepower' – Спектр мощности шума округления
Пример: fvtool(firFilt,'freq')
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
firFilt = dsp.FIRFilter('Numerator', fir1(130, 2000/(8000/2))); fvtool(firFilt,'Arithmetic','single')'Fs' — Выборка уровняВыборка уровня в виде скаляра. Это значение определяет интервал Найквиста [-Fs/2 Fs/2], в котором fvtool показывает частотную характеристику фильтров в channelizer.
Типы данных: single | double
'Arithmetic' — Арифметический тип'double' (значение по умолчанию) | 'single' | 'Fixed'Задайте арифметику, используемую во время анализа. Аналитический инструмент принимает фильтр с двойной точностью, когда арифметический вход не задан, и Системный объект фильтра разблокирован. 'Arithmetic' набор свойств к 'Fixed' применяется только, чтобы отфильтровать Системные объекты со свойствами фиксированной точки.
Когда 'Arithmetic' свойство установлено в 'Fixed', инструмент показывает и ссылочный фильтр с двойной точностью и квантованную версию фильтра. CoefficientsDataType свойство в соответствующем Системном объекте фильтра используется в создании квантованной версии фильтра для всех аналитических опций за исключением двух ниже:
'magestimate' – Оценка ответа величины.
'noisepower' – Спектр мощности шума округления
Для этих двух аналитических опций все настройки фиксированной точки используются в анализе квантованной версии фильтра.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.