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

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


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 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
Самурай
сообщение Aug 7 2018, 16:26
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 458
Регистрация: 4-03-05
Пользователь №: 3 066



Цитата(dcs @ Aug 7 2018, 18:52) *
подскажите как сделать так, чтобы АЧХ (CIC,CFIR,и результирующая) отображались визуально "гладко, без изломов"
...
можно ли отобразить результат последнего fvtool(CICDecim, CICCompDecim, filtCasc, ... от 0 до целевой 10кГц?


По первому вопросу:

f = fvtool(...);
f.NumberofPoints = 100500;

По второму:

f = fvtool(...);
f.FrequencyRange = 'Specify freq. vector';
f.FrequencyVector = [0:10:10000];


Go to the top of the page
 
+Quote Post
dcs
сообщение Aug 7 2018, 18:06
Сообщение #3


Участник
*

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



Цитата(Самурай @ Aug 7 2018, 17:26) *
По первому вопросу:

По второму:
спасибо
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 15th August 2018 - 06:21
Рейтинг@Mail.ru


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