Перейти к содержанию

    

dcs

Участник
  • Публикаций

    37
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о dcs

  • Звание
    Участник

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    СПб

Посетители профиля

361 просмотр профиля
  1. Рассинхронизация OFDM

    https://cloud.mail.ru/public/62SY/6abNGygZj
  2. Рассинхронизация OFDM

    Matlab Models of Non-Idealities.pdf
  3. точно не помню с какой работал, когда занимался 100G, но помню, что HTGххх от HighTech Global. посмотрите там.
  4. опечатки нет. fs=1.5e9, bw=3.2e3 (единственный такой режим. однополосная, КВ) 100e6, 20e3 - это условный пример. все-таки повторю вопрос , при каскадной реализации фильтров из каких условий выбирается уровень подавления в каждом следующем фильтре? из каких условий выбирается разрядность данных между фильтрами? где бы почитать об этом на конкретном примере ? -спасибо
  5. здравствуйте. подскажите, вот как у меня в посте выше есть cic и cfir условно говоря, с выхода cic разрядность пусть 96 бит, это много для входа корректирующего. Например, я округляю до 32 бит (беру старшие 32 значащих по результатам моделирования или есть другой способ? есть ли смысл окргулять по правилу 0.5 или именно так и надо? имею ввиду примерно следющее cic_out[96:65]+cic_out[64] если >0 и наоборот если отрицательный результат) Так вот на сколько давить внеполосные сигналы в корректирующем фильтре? на 20*log10(2^32) = 193дБ ? как правильно? -спасибо
  6. Здравствуйте, подскажите как сделать так, чтобы АЧХ (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'); -спасибо
  7. Цитата(vo-van @ Apr 25 2018, 15:14) решили вопрос? Я лепил Matlab2016b + ISE14.7 sysgen нa Linux Mint 18.1 Serena. С форумов ничо не помогло - переписал ихние скрипты, поудалял из них awk (большой опыт в линуксе) нет не получилось. пришлось поставить виртулку с win7 и там все развернуть. но если поможете, буду благодарен)
  8. Цитата(faa @ Apr 20 2018, 11:29) Тогда вопросы: какая ОС, есть ли в списке поддерживаемых (и Matlab и Vivado) версия Matlab версия Vivado Куда и как поставлены Matlab и Vivado? Про ключи/лицензии пока не надо 1. установлена Linux Mint 18.3 (based on Ubuntu 16.04.3 LTS согласно википедии) в списке поддерживаемых она есть (согласно ug973): ЦитатаLinux Support • Red Hat Enterprise Workstation/Server 7.2, 7.3, and 7.4 (64-bit) • Red Hat Enterprise Workstation 6.6, 6.7, 6.8, and 6.9 (64-bit) • SUSE Linux Enterprise 11.4 and 12.3 (64-bit) • CentOS 7.2, 7.3, and 7.4 (64-bit) • CentOS 6.7, 6.8, and 6.9 (64-bit) • Ubuntu Linux 16.04.3 LTS (64-bit) и матлаб и вивадо - сами по себе работают. 2. куда поставлен: dcs@pc ~/Desktop $ which matlab /usr/local/bin/matlab (реально вот стоит /usr/local/MATLAB/R2018a/bin) dcs@pc ~/Desktop $ which vivado /opt/Xilinx/Vivado/2018.1/bin/vivado dcs@pc ~/Desktop $ which sysgen /opt/Xilinx/Vivado/2018.1/bin/sysgen вивадо 2018.1 матлаб 2018а как поставлен? матлаб (делал как тут снято инсталл ) далее слелал Кодln -s $MATLAB/bin/matlab matlab where $MATLAB is the MATLAB installation directory. вивадо - запустил xsetup сначала ставил матлаб потом виваду P.S. после запуска симулинка в библиотеке элементов - систем генератора нет. в виндовсе при установке вивадо - он находит установленный матлаб ну и видимо добавляет все что нужно в симулинк, в линуксе он (установщик) - даже не намекнул на матлаб вот здесь форум залинкс человеку советуют ЦитатаFrom your xterm, type the command below (replace your_matlab_installation_root_dir with the actual directory name) sg_config -install_to_matlab your_matlab_installation_root_dir Now manually start simulink again, and check if Xilinx Block Sets shows up. но у меня нету sg_config ну или я не нашел. как минимум which sg_config - ничего не выдает в общем, помогите плиз мне собственно сисген то сейчас не нужен, но в перпективе хочу освоить. так что надо, чтобы работал. раз взялся - надо решить проблему
  9. фаа, это я смотрел Цитата(faa @ Apr 19 2018, 21:07) Вопрос. Первая же ссылка. там написано ЦитатаThis issue has only been reported on unsupported versions of the Ubuntu operating system. However, to avoid this issue on any OS, the Vivado 2016.3 install will no longer set the LD_LIBRARY_PATH variable. у меня последняя версия 2018.1 и эта переменная не установлена. сожержимое сеттингс64.сш Код############################################################## # Copyright (c) 1986-2018 Xilinx, Inc.  All rights reserved. # ############################################################## source /opt/Xilinx/DocNav/.settings64-DocNav.sh source /opt/Xilinx/Vivado/2018.1/.settings64-Vivado.sh source /opt/Xilinx/SDK/2018.1/.settings64-SDK_Core_Tools.sh может еще что-нибудь
  10. приветсвую. не по своему желанию перешел на линукс. сумел запустить все (виваду, матлаб, sdk), но не получается систем генератор. вывод в консоли: Цитатаawk: symbol lookup error: awk: undefined symbol: mpfr_z_sub Internal error 2: Could not determine the path of the MATLAB root directory. original command path = /usr/local/bin/matlab current command path = /usr/local/bin/matlab Please contact: MathWorks Technical Support for further assistance. подскажите, пожалуйста, что и как делать? -спасибо
  11. Цитата(petrov @ Apr 2 2018, 15:42) Вот по превышению какого-то уровня на выходе модуля определяем наличие известной последовательности а где можно почитать как этот порог задавать (вычислять) ? -спасибо
  12. здравствуйте, хотел сделать 2 эквивалентных куска генерации входных воздействий на фифо. Кодinitial begin             fork         /////////////////////////////////////////////////////////////////////////         pulse_gen:         begin             forever             begin                 randcase                     1: rand_pulse = 1;                     5: rand_pulse = 0;                 endcase                 @(posedge aclk);             end         end         /////////////////////////////////////////////////////////////////////////         push_data:         begin             wait(aresetn_done);                          forever             begin                 s_axis_tlast  = 0;                 s_axis_tuser  = 0;                                  if (s_axis_tready == 1) // FIFO ready to receive data                 begin                     s_axis_tvalid = rand_pulse;                     if (rand_pulse)                         s_axis_tdata  = $urandom_range(255,0);                                                              @(posedge aclk);                 end                 else                 begin                     s_axis_tdata = 0;                                          @(posedge aclk);                 end             end         end         /////////////////////////////////////////////////////////////////////////     join_none end и Кодalways_ff @(posedge aclk) begin     if (aresetn == 1'b0)     begin         s_axis_tvalid <= 0;         s_axis_tdata <= 0;     end     else     begin         s_axis_tvalid <= s_axis_tready & rand_pulse;         if (s_axis_tready & rand_pulse)                     s_axis_tdata <= $urandom_range(255,0);     end end получилось, что корка по-разному реагирует на входные воздействия в двух случаях. в первом случае работает неверно (пропускается первый байт в пачке), во втором - все хорошо. подскажите в чем проблема и как исправить? спасибо.
  13. LDPC, turbo-code

    "как из I/Q перейти просто к мягким решениям" документ не смог найти у себя на компе. я считал по формулам из appnote от AHA. там на примере кам16 был показан расчет. попробуйте найти. вот документ китайский язык, страница 7 - там формула но это перевод оригинального аппноута))