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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Корректировка мультиплексированных АЦП
akrabad
сообщение Dec 23 2015, 12:41
Сообщение #16





Группа: Участник
Сообщений: 10
Регистрация: 20-08-15
Пользователь №: 88 064



Цитата(_Anatoliy @ Dec 23 2015, 19:31) *
Что то делаете не так. На моей картинке видно что образ надёжно сидит в шумах. А сколько тапов у вашего корректирующего фильтра?

Количество тапов = 1025.
F1 - задерживающий фильтр.
F2 - фильтр, полученный обратным преобразование фурье по необходимой АЧХ и ФЧХ + окно Ханна.

Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Dec 23 2015, 13:01
Сообщение #17


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(akrabad @ Dec 23 2015, 15:41) *
Количество тапов = 1025.
F1 - задерживающий фильтр.
F2 - фильтр, полученный обратным преобразование фурье по необходимой АЧХ и ФЧХ + окно Ханна.

Офигеть! У меня всего 62 тапа. И никаких окон не нужно - они только мешают.
А сколько точек FFT?А сколько точек IFFT? А сколько эталонных частот подавали для калибровки?
Go to the top of the page
 
+Quote Post
akrabad
сообщение Dec 23 2015, 13:27
Сообщение #18





Группа: Участник
Сообщений: 10
Регистрация: 20-08-15
Пользователь №: 88 064



Цитата(_Anatoliy @ Dec 23 2015, 20:01) *
Офигеть! У меня всего 62 тапа. И никаких окон не нужно - они только мешают.
А сколько точек FFT?А сколько точек IFFT? А сколько эталонных частот подавали для калибровки?

Что вы подразумеваете под эталонными частотами? А для чего вы использовали FFT в алгоритме получения фильтра?
  1. Подал 14 частот на АЦП;
  2. По этим сигналам получил 14 значений для разностных АЧХ и ФЧХ для фильтра F2;
  3. Произвел интерполяцию;
  4. Получил 1025 значений АЧХ и ФЧХ(теперь буду меньше);
  5. Задал комплексный коэффициент передачи;
  6. Выполнил IFFT и получил 1025 значений фильтра.


Сообщение отредактировал akrabad - Dec 23 2015, 13:31
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Dec 24 2015, 07:14
Сообщение #19


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(akrabad @ Dec 23 2015, 16:27) *
Что вы подразумеваете под эталонными частотами? А для чего вы использовали FFT в алгоритме получения фильтра?
1.Подал 14 частот на АЦП;
2.По этим сигналам получил 14 значений для разностных АЧХ и ФЧХ для фильтра F2;
3.Произвел интерполяцию;
4.Получил 1025 значений АЧХ и ФЧХ(теперь буду меньше);
5.Задал комплексный коэффициент передачи;
6.Выполнил IFFT и получил 1025 значений фильтра.

Я не так делал.
1. Подаю 30 частот,можно не все сразу,а по одному сигналу. Частоты считаю так:
Код
fs=550;%Fs one ADC
Nfreq = 32;
Nfft = Nfreq-1;
TableFreq = fs*(1:Nfft-1)/Nfft;

2). Выполняю FFT размерностью Nfft для каждого АЦП.Результат G1 и G2.
3). Считаю результирующий фильтр и добавляю значения нулевой частоты и fs
Код
        
F0(i) = conj(G1(ind)) ./ conj(G2(ind));
F0 = [1.04 F0 1.008];%%

4). Преобразую результат
Код
    N = length(F0);
    nF0 = [F0(1:N) conj(F0(N-1:-1:2))].';
    nF0([1 N]) = real(nF0([1 N]));

5). Выполняю IFFT размерностью 62 точки
6). Нормирую полученную ИХ.
7). Прошиваю в FPGA и любуюсь результатом.
Go to the top of the page
 
+Quote Post
akrabad
сообщение Jan 12 2016, 06:48
Сообщение #20





Группа: Участник
Сообщений: 10
Регистрация: 20-08-15
Пользователь №: 88 064



Цитата(_Anatoliy @ Dec 24 2015, 14:14) *
2). Выполняю FFT размерностью Nfft для каждого АЦП.Результат G1 и G2.
3). Считаю результирующий фильтр и добавляю значения нулевой частоты и fs

Я получаю G1 и G2 вот так
Код
for iter = 1:1:Nfreq-2 %Цикл по всем сигналам
    Temp = fft(ch_1, Nfft); %fft первой АЦП
    G1(iter) = Temp(iter+1); %G1 - 1x34 % Temp - 1x35
    Temp = fft(ch_2, Nfft); %fft второй АЦП
    G2(iter) = Temp(iter+1);
end
    F0 = conj(G1) ./ conj(G2);% По формуле нам надо только(-ws/2 + w)
Правильно ли?

Цитата(_Anatoliy @ Dec 24 2015, 14:14) *
6). Нормирую полученную ИХ.
Под нормированием вы подразумеваете только приведение суммы коэфф. к 1?
После ifft ИХ выглядит так. "Сдвигали" ли вы ее?


Сообщение отредактировал akrabad - Jan 12 2016, 13:59
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jan 13 2016, 11:47
Сообщение #21


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(akrabad @ Jan 12 2016, 09:48) *
Я получаю G1 и G2 вот так
Код
for iter = 1:1:Nfreq-2 %Цикл по всем сигналам
    Temp = fft(ch_1, Nfft); %fft первой АЦП
    G1(iter) = Temp(iter+1); %G1 - 1x34 % Temp - 1x35
    Temp = fft(ch_2, Nfft); %fft второй АЦП
    G2(iter) = Temp(iter+1);
end
    F0 = conj(G1) ./ conj(G2);% По формуле нам надо только(-ws/2 + w)
Правильно ли?

Под нормированием вы подразумеваете только приведение суммы коэфф. к 1?
После ifft ИХ выглядит так. "Сдвигали" ли вы ее?

1).Я получаю G1 и G2 вот так
Код
   for i=1:Nfft-1
        NumBin = i+1;
        sp = fft(squeeze(sg(1,i,:)))/(Nfft/2);
        G1(i) = sp(NumBin);
        sp = fft(squeeze(sg(2,i,:)))/(Nfft/2);
        stem(abs(sp));
        m = abs(sp(NumBin));
        a = angle(sp(NumBin)) - pi*TableFreq(i)/fs;
        G2(i) = m.*exp(1i*a);
    end;

Тактовый сигнал для второго АЦП сдвинут на pi, это нужно учесть.
2). Как считается F0 я приводил.
3). Да
4). Конечно сдвигал.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 16 2016, 19:35
Сообщение #22


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Читаю эту тему. Всплыло несколько вопросов.
1. Фильтры, что здесь обсуждаются, корректируют смещение выходов АЦП одного относительно другого? Например, постоянно один АЦП выдает значения на несколько единиц меньше другого. Если фильтр FIR умножает выборки на коэффициенты, как он сможет добавить постоянное число?
2. Аналогичный вопрос по коррекции сдвига между АЦП. Если они работают не строго в противофазе, это скорректируется?
3. Если АЧХ фильтра есть ДПФ от импульсной характеристики, то почему сразу не вычислить коэффициенты фильтра, подав на входы АЦП импульс? Дальше, почему именно импульс, а не перепад? Все равно потом вычисляется отношение частотных характеристик. То есть, подал перепад, вычислил спектры, поделил. Вычислил ОДПФ, получил коэффициенты корректирующего фильтра.
4. Если у меня полоса АЦП в несколько раз больше полосы сигнала, и АЧХ в интересующем меня диапазоне, можно считать, идентичная, может, мне ограничиться тремя величинами: смещением, коэффициентом передачи, временнЫм сдвигом?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 15th June 2025 - 17:55
Рейтинг@Mail.ru


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