Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Приложение 3. Программный код и результаты моделирования для тестового сигнала






    Программный код и результаты моделирования для тестового сигнала

    %Исходные данные

    Fs = 96e3;

    f1 = 1.5e3;

    f2 = 20e3;

    f3 = 25e3;

    dt = 1/Fs;

    T1 = 1/f1;

    t = 0: dt: T1*50;

    df_shift = 10000;

    S1 = (j*sin(2*pi*f1*t) + cos(2*pi*f1*t)) + (j*sin(2*pi*f2*t) + cos(2*pi*f2*t)) + (j*sin(2*pi*f3*t) + cos(2*pi*f3*t));

     

    % shift to center frequnce for real filtering

    S1 = S1.* exp(j*2*pi*(-df_shift)*t);

     

    %Окно Хэмминга и построение спектра исходного сигнала

    w = hamming(2048).';

    S2=[];

    for i=1: floor(length(S1)/2048)

    S2 = [S2 S1((i-1)*2048+1: i*2048).*w];

    end

     

    Hs1=spectrum.periodogram;

    figure(1)

    h1 = psd(Hs1, S2, 'Fs', Fs); plot(h1)

     

    %Кан.Фильтр order = 122

    %fs = 96000 fpass = 10000 fstop = 12000 astop = 80

    S1 = [zeros(1, length(k0)-1) S1];

    r0 = zeros(1, length(S1));

    for i = length(k0): length(S1)

    for n = 0: length(k0)-1

    r0(i) = r0(i) + S1(i-n)*k0(n+1);

    end

    end

    r0(1: length(k0)-1) = [];

     

    hold on

    h1 = psd(Hs1, r0, 'Fs', Fs); plot(h1)

     

    %фильтр перенос order = 33

    %fs = 768000 fpass = 10000 fstop = 55000 astop = 60

    B0 = upsample(r0, 8);

    B0 = [zeros(1, length(kn)-1) B0];

    r1 = zeros(1, length(B0));

    for i = length(kn): length(B0)

    for n = 0: length(kn)-1

    r1(i) = r1(i)+B0(i-n)*kn(n+1);

    end

    end

    r1(1: length(kn)-1) = [];

     

    figure(2)

    h1 = psd(Hs1, r1, 'Fs', 768000); plot(h1)

     

    %Первый FiR-фильтр order = 8

    %fs = 1536000 fpass = 10000 fstop = 384000 astop = 80

    B = upsample(r1, 2);

    B = [zeros(1, length(k1)-1) B];

    r2 = zeros(1, length(B));

    for i = length(k1): length(B)

    for n = 0: length(k1)-1

    r2(i) = r2(i)+B(i-n)*k1(n+1);

    end

    end

     

    %Второй FiR-фильтр order =8

    %fs = 3072000 fpass = 10000 fstop = 768000 astop = 80

    B1 = upsample(r2, 2);

    B1(1: length(k2)-1) = [];

    r3 = zeros(1, length(B1));

    for i = length(k2): length(r3)

    for n = 0: length(k2)-1

    r3(i) = r3(i)+B1(i-n)*k2(n+1);

    end

    end

    r3(1: length(k2)-1) = [];

     

    %CIC

    D = 64; % filter buffer depth

    B2 = upsample(r3, 32);

    delayBuffer1 = zeros(1, D);

    delayBuffer2 = zeros(1, D);

    delayBuffer3 = zeros(1, D);

    delayBuffer4 = zeros(1, D);

    intOut1 = 0;

    intOut2 = 0;

    intOut3 = 0;

    intOut4 = 0;

    for ii = 1: (length(B2)/10

     

    %comb1

    combOut1 = B2(ii) - delayBuffer1(end);

    delayBuffer1(2: end) = delayBuffer1(1: end-1);

    delayBuffer1(1) = B2(ii);

     

    % integrator1

    intOut1 = intOut1 + combOut1;

    r4(ii) = intOut1;

     

    %comb2

    combOut2 = r4(ii) - delayBuffer2(end);

    delayBuffer2(2: end) = delayBuffer2(1: end-1);

    delayBuffer2(1) = r4(ii);

     

    % integrator2

    intOut2 = intOut1 + combOut2;

    r5(ii) = intOut2;

     

    %comb3

    combOut3 = r5(ii) - delayBuffer3(end);

    delayBuffer3(2: end) = delayBuffer3(1: end-1);

    delayBuffer3(1) = r5(ii);

     

    % integrator3

    intOut3 = intOut2 + combOut3;

    r6(ii) = intOut3;

     

    %comb4

    combOut4 = r6(ii) - delayBuffer4(end);

    delayBuffer4(2: end) = delayBuffer4(1: end-1);

    delayBuffer4(1) = r6(ii);

     

    % integrator3

    intOut4 = intOut3 + combOut4;

    r7(ii) = intOut4;

    end

     

    %Спектр выходного сигнала

    figure(3)

    h1 = psd(Hs1, r7, 'Fs', 98304000); plot(h1)

    title('Power Spectrum of a Sine Wave'); % Вывод названия графика.

    xlabel('Frequency (Hz)'); % Вывод величины и размерности по x.

    ylabel('Power'); % Вывод величины по y.

     

     

    Спектр исходного сигнала(рис. 19).

    Рис. 19

    Спектр сигнала после всех фильтров(рис. 20)

     

    Рис. 20

    Список литературы.

    1. ETSI ES 201 980 V2.2.1 (2005–10) Всемирное цифровое радио.

    2. Проектирование систем цифровой и смешанной обработки сигна-лов. Кестер У. 2010г.

    3. Дж.Уэйкерли, Проектирование цифр.устр. М2002 1048c.

    4. ETSI EN 302 245-2 V1.1.1 (2005-01)

    5. Даташит AD9857

    6. Шихин, А.Я. Электромагнитные поля и системы / А.Я. Шихин. М.: Энергия, 1987.

    7. ГОСТ 12.1.006-84. ССБТ. Электромагнитные поля радиочастот. Допустимые уровни на рабочих местах и требования к проведению контроля. М.: Издательство стандартов, 1984.

    8. ГОСТ 12.1.004-91 Пожарная безопасность. Общие требования, М., 1992.

    9. СНиП 21-01-97 Пожарная безопасность зданий и сооружений. М. 1997.

    10. Айфичер Э. - Цифровая обработка сигналов. Практический подход. 2-е издание. 2004 год.

    11. Р. Лайонс Цифровая обработка сигналов 2006 год.






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.