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

 
 
 
Reply to this topicStart new topic
DevL
сообщение Dec 11 2011, 20:13
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 254
Регистрация: 23-10-10
Из: астрал
Пользователь №: 60 371



исходный набор сэмплов децимицимируется до 44.1 KHz ( из 3.5MHz ) и записывается просто в wav ( важно что 16бит на канал )
однако появляется некий шум - вот и хочется разобраться в причине этого шума - исходные данные ( врядли ) или что то еще ?

пример my.m и test.m вместе с исходными данными ( осторожно - большой файл ) и получаемым .wav приатачен...
Прикрепленные файлы
Прикрепленный файл  cic.rar ( 1.29 мегабайт ) Кол-во скачиваний: 24
 
Go to the top of the page
 
+Quote Post
Самурай
сообщение Dec 11 2011, 21:28
Сообщение #2


Местный
***

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



Цитата(DevL @ Dec 11 2011, 23:13) *
исходный набор сэмплов децимицимируется до 44.1 KHz ( из 3.5MHz ) и записывается просто в wav ( важно что 16бит на канал )
однако появляется некий шум - вот и хочется разобраться в причине этого шума - исходные данные ( врядли ) или что то еще ?

пример my.m и test.m вместе с исходными данными ( осторожно - большой файл ) и получаемым .wav приатачен...


Ну а где собственно сам CIC фильтр? Я вижу только компенсирующий фильтр для CIC-а.
Или Вы думали, что h = fdesign.decimator(79, 'CIC Compensator',...) сделает еще и сам CIC? Увы, нетsm.gif
Go to the top of the page
 
+Quote Post
DevL
сообщение Dec 12 2011, 14:55
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 254
Регистрация: 23-10-10
Из: астрал
Пользователь №: 60 371



filterbuilder генерирует очень схожее и для "чистого" CIC, приатаченно ниже

а так же вот кусок, который "с шумом тоже"

Код
function Hd = test_cic
%TEST_CIC Returns a discrete-time filter object.

%
% MATLAB Code
% Generated by MATLAB(R) 7.13 and the DSP System Toolbox 8.1.
%
% Generated on: 12-Dec-2011 16:01:07
%

D     = 4;  % Differential delay
Fpass = 1;  % Passband Frequency
Astop = 1;  % Stopband Attenuation (dB)

h = fdesign.decimator(79, 'CIC', D, 'Fp,Ast', Fpass, Astop);

Hd = design(h, 'multisection');

set(Hd, 'Arithmetic', 'fixed', ...
    'InputWordLength', 16, ...
    'InputFracLength', 15, ...
    'FilterInternals', 'Specifyprecision', ...
    'SectionWordLengths', 18, ...
    'SectionFracLengths', 15, ...
    'OutputWordLength', 16, ...
    'OutputFracLength', 15);

% [EOF]

Эскизы прикрепленных изображений
 Р В Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 73%
Прикрепленное изображение
1146 x 568 (156.02 килобайт)
 
Go to the top of the page
 
+Quote Post
Самурай
сообщение Dec 15 2011, 04:01
Сообщение #4


Местный
***

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



Цитата(DevL @ Dec 11 2011, 23:13) *
однако появляется некий шум - вот и хочется разобраться в причине этого шума - исходные данные ( врядли ) или что то еще ?


Мельком глянул входные данные, это что, ΔΣ АЦП? Странный он у Вас какой-то. И на кой ляд делать 3.48МГц, если данные с АЦП все равно меняются с частотой (примерно) 23кГц???? И для начала неплохо бы тестировать на банальной синусоиде, постепенно усложняя сигнал.

А шум...ну тут все просто, это шумит все то, что не задавилось фильтром и завернулось в полосу 22кГц, и завернуться там есть чему при таком исходном сигналеsm.gif.
Go to the top of the page
 
+Quote Post
DevL
сообщение Dec 15 2011, 10:17
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 254
Регистрация: 23-10-10
Из: астрал
Пользователь №: 60 371



все это - только промежуточная обработка,
к сожалению нельзя поменять входной сигнал и его характеристики, даже синусоида будет "непросто"

вот в этом и вся сложность

какие рекомендации насчет " задавилось фильтром и завернулось в полосу 22кГц" ?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 7th July 2025 - 12:53
Рейтинг@Mail.ru


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