реклама на сайте
подробности

 
 
> fvtool, отображение АЧХ
dcs
сообщение Aug 7 2018, 14:52
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 1-07-13
Из: СПб
Пользователь №: 77 337



Здравствуйте,

подскажите как сделать так, чтобы АЧХ (CIC,CFIR,и результирующая) отображались визуально "гладко, без изломов" при увеличении для моего примера при больших коэффициентах децимации.

Начальная частота семплирования Fs = 100MHz. На выходе хочу, например, 10kHz.

data @100MHz -> CIC (decimate by 5000) -> CFIR (decimate by 2) -> data @10kHz

P.S.
можно ли отобразить результат последнего fvtool(CICDecim, CICCompDecim, filtCasc, ... от 0 до целевой 10кГц?


Код
clc, clear, close all;

%% CIC
Fs_init = 100e6; % Hz

CIC_output_sample_rate = 20e3; % integer multiple of Fs_init

CIC_decim_factor = Fs_init/CIC_output_sample_rate; % decimatin factor

CICDecim = dsp.CICDecimator( ...
            'DecimationFactor', CIC_decim_factor, ...
            'DifferentialDelay', 1, ... % нули АЧХ cic будут на частотах кратных 20кГц
            'NumSections', 4);
        
Gain_CIC = gain(CICDecim);
        
f_CICDecim = fvtool(CICDecim,'Analysis','freq','ShowReference','off');                
f_CICDecim.NormalizeMagnitudeto1 = 'on';
legend(f_CICDecim,'CIC decimator');


%% CFIR with decimation by 2

fs = CIC_output_sample_rate; % sample rate @compensator input
fPass = 2e3;
fStop = 4e3;
                  
CICCompDecim = dsp.CICCompensationDecimator(CICDecim, ...
                                        'DecimationFactor',2, ...
                                        'PassbandFrequency',fPass, ...
                                        'StopbandFrequency',fStop, ...
                                        'PassbandRipple', 0.25, ...
                                        'StopbandAttenuation', 80, ...
                                        'SampleRate',fs);

f_CICCompDecim = fvtool(CICCompDecim,'Analysis','freq');                                    
legend(f_CICCompDecim, 'CIC compensator decimator');

filtCasc = dsp.FilterCascade(CICDecim,CICCompDecim);

f = fvtool(CICDecim, CICCompDecim, filtCasc, ...
    'ShowReference','off', ...
    'Fs', [fs*CIC_decim_factor fs fs*CIC_decim_factor]);

f.NormalizeMagnitudeto1 = 'on';
legend(f,'CIC Decimator','CIC Compensation Decimator', ...
    'Overall Response');


-спасибо



Сообщение отредактировал dcs - Aug 7 2018, 14:54
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
soldat_shveyk
сообщение Aug 22 2018, 06:54
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



Цитата
При каскадной реализации фильтров из каких условий выбирается уровень подавления в каждом следующем фильтре?

Все определяется Вашими требованиями к избирательности КВ приемника.
Самый простой и наглядный способ - постройте сквозную АЧХ всех каскадов фильтрации. Для этого надо импульсные характеристики всех фильтров привести к частоте дискретизации АЦП, то есть интерполировать на величину коэффициента децимации перед фильтром. Все интерполированные импульсные характеристики свернуть между собой. fvtool() от результирующей импульсной характеристики покажет сквозную АЧХ.
Go to the top of the page
 
+Quote Post
dcs
сообщение Aug 22 2018, 08:40
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 1-07-13
Из: СПб
Пользователь №: 77 337



Цитата(soldat_shveyk @ Aug 22 2018, 06:54) *
Все определяется Вашими требованиями к избирательности КВ приемника.
Самый простой и наглядный способ - постройте сквозную АЧХ всех каскадов фильтрации. Для этого надо импульсные характеристики всех фильтров привести к частоте дискретизации АЦП, то есть интерполировать на величину коэффициента децимации перед фильтром. Все интерполированные импульсные характеристики свернуть между собой. fvtool() от результирующей импульсной характеристики покажет сквозную АЧХ.

спасибо.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th April 2024 - 09:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01749 секунд с 7
ELECTRONIX ©2004-2016