Jump to content

    

Den

Свой
  • Content Count

    66
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Den

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

2078 profile views
  1. Добрый день! Приобрел в Терраэлектронике несколько комплектов: Модуль приемника GD-RXV6D – Брелок-передатчик GD-F04 LEARNING, поддерживающие технологию KeeLOQ на базе микросхемы HCS101. Пытаюсь прописать передатчик в приёмнике по найденной в интернете инструкции на GD-RXV6D, но ничего не получается, приемник никак не реагирует на передатчик. Может, кто сталкивался, подскажите, пожалуйста, как правильно прописать передатчик в приёмнике, или ткните носом, где об этом можно прочитать. С уважением, Денис.
  2. Спасибо. Значит попробуем TINA TI. С уважением, Den.
  3. Добрый день! Подскажите пожалуйста, есть ли возможность использование моделей TINA-TI Spice в PSpice OrCad 16.6? Скачал с сайта TI модель в этом формате (TINA-TI Spice), PSpice говорит, что она зашифрована и не видит её. Возможно ли такие модели подружить с PSpice? С уважением, Den.
  4. Добрый день! При попытке соединиться с AM3517/05 SAU Module Development Kit через SAU510-USB (iso plus) выводится сообщение об ошибки: Error connecting to the target: (Error -181 @ 0x0) The controller has detected a dead JTAG clock. The user must turn-on or connect the JTAG clock for the target. (Emulation package 5.1.232.0) CCS 5.5. Windows XP. Не могу понять, в чем дело. Что не так с тактирующим сигналом? И подскажите, пожалуйста, существуют ли драйвера под WinXP (CCS5.5) для встроенного на данной плате эмулятора? С уважением.
  5. Добрый день. Пытаюсь всё разобраться. Вот ещё код. Имею сигнал cod_ADC. clear ; %-------------------------------------------------------------------------- A = 50 ; % Amplitude 1-harmonics 50V , Идеальная амплитуда 1-й гармоники ; Fmain = 51; % F 1 harmonics, Идеальная частота 1-й гармоники ; %-------------------------------------------------------------------------- SNR = 90 ; %-------------------------------------------------------------------------- Fs = 6400 ; % F sampling , частота дискретизации N = 256 ; % количество отсчетов %-------------------------------------------------------------------------- t = (0:N-1)/Fs; % вектор времени freq = 0:Fs/N:200 ; % вектор частоты [ee, N_points_freq] = size(freq) ; %-------------------------------------------------------------------------- x_exp = A*exp(j*(2*pi*Fmain*t)); cod_ADC = A*cos(2*pi*Fmain*t) ; %cod_ADC_complex = hilbert(cod_ADC) ; cod_ADC_complex = cod_ADC ; real_cod_ADC = real(cod_ADC_complex) ; imag_cod_ADC = imag(cod_ADC_complex) ; real_x_exp = real(x_exp) ; imag_x_exp = imag(x_exp) ; %-------------------------------------------------------------------------- subplot(3,1,1), plot(t,real_cod_ADC, 'r'), axis([0 t(N) -(1.4*A) (1.4*A)]), grid on ; hold on ; plot(t,imag_cod_ADC) ; %-------------------------------------------------------------------------- subplot(3,1,2), plot(t,real_x_exp, 'r'), axis([0 t(N) -(1.4*A) (1.4*A)]), grid on ; hold on ; plot(t,imag_x_exp) ; %-------------------------------------------------------------------------- NFFT_cod_ADC = fft(cod_ADC_complex) ; % Спектр Amplituds_cod_ADC = abs(NFFT_cod_ADC)/(N) ; % Амплитуды NFFT_x_exp = fft(x_exp) ; % Спектр Amplituds_x_exp = abs(NFFT_x_exp)/(N) ; % Амплитуды %-------------------------------------------------------------------------- subplot(3,1,3), stem(freq, Amplituds_cod_ADC(1:N_points_freq), 'r'), grid on ; hold on ; stem(freq, Amplituds_x_exp(1:N_points_freq)), grid on ; hold on ; %-------------------------------------------------------------------------- [Ampl_max_cod_ADC N_bin_max_ampl_cod_ADC] = max(Amplituds_cod_ADC) ; [Ampl_max_x_exp N_bin_max_ampl_x_exp] = max(Amplituds_x_exp) ; %-------------------------------------------------------------------------- piak3vect_cod_ADC(1:3)=NFFT_cod_ADC(N_bin_max_ampl_cod_ADC-1:N_bin_max_ampl_cod_ADC+1); % Isolated 3 samples around peak. piak3vect_x_exp(1:3)=NFFT_x_exp(N_bin_max_ampl_x_exp-1:N_bin_max_ampl_x_exp+1); %-------------------------------------------------------------------------- macleod_error_cod_ADC = macleod(piak3vect_cod_ADC) ; macleod_error_x_exp = macleod(piak3vect_x_exp) ; %-------------------------------------------------------------------------- % quin_error = quin(piak3vect) ; % quadterp_error = quadterp(piak3vect) ; % quin2_error = quin2(piak3vect) ; min_er_x = Fmain - 0.1 ; max_er_x = Fmain + 0.1 ; figure ; subplot(2,1,1), stem(Fmain, 1, 'r'),axis([min_er_x max_er_x -1.1 1.1]), grid on ; hold on ; stem(((N_bin_max_ampl_cod_ADC-1)*(Fs/N))+(macleod_error_cod_ADC*(Fs/N)), 1, 'g'),axis([min_er_x max_er_x -1.1 1.1]), grid on ; subplot(2,1,2), stem(Fmain, 1, 'r'),axis([min_er_x max_er_x -1.1 1.1]), grid on ; hold on ; stem(((N_bin_max_ampl_x_exp-1)*(Fs/N))+(macleod_error_x_exp*(Fs/N)), 1, 'g'),axis([min_er_x max_er_x -1.1 1.1]), grid on ; Пытаюсь определить частоту. Преобразование реальной синусоиды к аналитическому сигналу никак не влияет на точность оценки. Получается можно напрямую работать с реальной синусоидой??? С уважением, Den.
  6. Добрый день, уважаемый fontp! Что-то я совсем запутался. Накидал код в Matlab. clear ; %-------------------------------------------------------------------------- A = 50 ; % Amplitude 1-harmonics 50V , Идеальная амплитуда 1-й гармоники ; Fmain = 50 ; % F 1 harmonics, Идеальная частота 1-й гармоники ; %-------------------------------------------------------------------------- SNR = 80 ; %-------------------------------------------------------------------------- Fs = 6400 ; % F sampling , частота дискретизации N = 512; % количество отсчетов %-------------------------------------------------------------------------- t = (0:N-1)/Fs; % вектор времени freq = 0:Fs/N:200 ; % вектор частоты %-------------------------------------------------------------------------- xx = A*sin(2*pi*Fmain*t) ; % x = awgn(xx, SNR, 'measured'); %x = x + randn(size(x)) ; %-------------------------------------------------------------------------- NFFT = abs(fft(x, N))./(N/2); %-------------------------------------------------------------------------- subplot(2,1,1), plot(t,x), axis([0 t(N) -(1.4*A) (1.4*A)]) ; hold on ; subplot(2,1,2), stem(freq, NFFT(1:17)), grid on ; hold on ; subplot(2,1,1); text(0, -20, sprintf('Идеальная частота %2.3f Гц\n',Fmain)); text(0, -50, sprintf('Идеальная амплитуда %2.3f В\n',A)); for k = 0.8:0.01:1.2 xx = A*sin(2*pi*(Fmain*k)*t) ; x = awgn(xx, SNR, 'measured'); NFFT = abs(fft(x, N))./(N/2); [Ampl_max N_bin_max] = max(NFFT) ; % максимальный бин и его значение y_l = NFFT(N_bin_max - 1) ; % амплитуда левого бина y_c = NFFT(N_bin_max) ; % амплитуда максимального центрального бина y_r = NFFT(N_bin_max + 1) ; % амплитуда правого бина x_l = (N_bin_max - 2)*(Fs/N) ; % частотное положение бинов x_c = (N_bin_max - 1)*(Fs/N) ; x_r = N_bin_max *(Fs/N) ; inp_vector_x = [x_l x_c x_r] ; inp_vector_y = [y_l y_c y_r] ; out_vector_x = x_l:0.01:x_r ; out_vector_y = lagrange(inp_vector_x, inp_vector_y, out_vector_x); [ymax xmax] = max(out_vector_y) ; A_calc = ymax ; Freq_izmer = xmax ; errorA = (abs(A - A_calc))*100/A ; subplot(2,1,1) ; h(1) = plot(t, x, 'r') ; h(3) = text(0, -35, sprintf('Измереная частота %2.3f Гц\n', Freq_izmer)); h(4) = text(0, -65, sprintf('Измереная амплитуда %2.3f В\n', A_calc)); h(5) = text(0.009, -65, sprintf('( %2.3f )\n', errorA)); subplot(2,1,2); h(2) = stem(freq, NFFT(1:17), 'r') ; h(6) = plot(out_vector_x, out_vector_y, 'r') ; drawnow ; pause(0.5) ; if k == 1.19 return end delete(h) ; end function yy=lagrange(x,y,xx) % вычисление интерполяционного полинома в форме Лагранжа % x - массив координат узлов % y - массив значений интерполируемой функции % xx - массив значений аргумента, для которых надо вычислить значения полинома % yy - массив значений полинома в точках xx % узнаем число узлов интерполяции (N=n+1) N=length(x); % создаем нулевой массив значений интерполяционного полинома yy=zeros(size(xx)); % в цикле считаем сумму по узлам for k=1:N % вычисляем произведения, т.е. функции Psi_k t=ones(size(xx)); for j=[1:k-1, k+1:N] t=t.*(xx-x(j))/(x(k)-x(j)); end % накапливаем сумму yy = yy + y(k)*t; end Получается, что построением параболы, амплитуду точно определить не получается? Или я совсем уже туплю… Ткните, пожалуйста, носом, в нужную сторону, а лучше конечно в пример Matlab. С уважением, Den.
  7. Спасибо. Буду пробывать. С уважением, Den.
  8. Большое спасибо, буду разбираться. С уважением, Den. Ещё один вопрос. Под наложением гармоники точной частоты, Вы имеете ввиду свертку с комплексной синусоидой, частоты определенной по максимуму параболы?
  9. А разве наложение весового окна не устранит (не минимизирует) растекание спектра?
  10. 128 точечное БПФ у меня высчитывается за 1.1 мкс. БПФ хочу делать по 4-м периодам, соответственно 512 точечное. С уважением, Den.
  11. Спасибо. Уважаемый fontp, прочитал много Ваших постов. Позвольте задать Вам вопрос, как человеку, разбирающемуся в этой теме. Правильный ли ход моих рассуждений по поводу следующей задачи… Сетевое напряжение 50 Гц. Необходимо вычислять фазу, частоту, амплитуду. Также необходимо проводить анализ гармонического состава. Значение фазы, частоты и амплитуды необходимо получать как можно быстрее… Планирую так: АЦП 16 бит, частота дискретизации 6400Гц, FIFO буфер БПФ на 512 точек, т.е. получается 128 точек на период. При поступлении каждой новой точки с АЦП в FIFO буфер, на него накладывается окно (Гауссовское?), производится БПФ. Далее нахожу амплитуду и фазу основной гармоники. Остается частота основной гармоники, необходимая точность измерения которой равна 0,01Гц. Возможно ли её определение по скорости изменения мгновенной фазы основной гармоники? Или же необходимо построение параболы по максимумам? С уважением, Den.
  12. Добрый день! Прошу прощение за поднятие давней темы. Где сейчас возможно достать файлы, обозначенные ссылкой? Буду очень признателен, если кто-то сможет выслать, или где то выложит. С уважением, Den.
  13. Добрый день! Пытаюсь настроить EDMA на передачу McBSP1, который работает в режиме SPI. Вроде делаю всё правильно, но передача данных не начинается. Без EDMA всё работает нормально. Будьте добры, подскажите, что я делаю не правильно, и чего не хватает. Мой листинг: ………………………………………… unsigned char Tx_dma[128] ; // Массив для передачи #define DXR1_EDMA 0x34000010 // McBSP1 Data Transmit Register via EDMA Bus ………………………………………… …настройка McBSP1… ………………………………………… …настройка EDMA… *(int*)DCHMAP0 = 0x000001C0 ; // Прописываем PaRAM 14 в канале DMA0 *(int*)EESR |= (1<<14) ; // Включаем EVT14 *(int*)DMAQNUM1|= (1<<24) ; // Определяем EVT14 в Q1, и следовательно в TC1 *(int*)PaRAM_OPT_14 = 0x00000002; // SAM – INC; DAM – FIFO; Not static *(int*)PaRAM_SRC_14 = (int)mcu.Tx_dma ; // Адрес источника *(int*)PaRAM_BCNT_ACNT_14 = 0x00800001 ; // BCNT = 128; ACNT = 1 ; *(int*)PaRAM_DST_14 = DXR1_EDMA ; // Адрес McBSP1 Data Transmit Register *(int*)PaRAM_DSTBIDX_SRCBIDX_14 = 0x00000001 ; // DSTBIDX = 0 ; SRCBIDX = 1 ; *(int*)PaRAM_BCNTRLD_LINK_14 = 0x00804820 ; // BCNTRLD = 128; LINK = 4820 (PaRAM 65) *(int*)PaRAM_DSTCIDX_SRCCIDX_14 = 0x00000000 ; *(int*)PaRAM_Rsvd_CCNT_14 = 0x0000FFFF ; //------------------- Аналогично настраиваю PaRAM 65 *(int*)PaRAM_OPT_65 = 0x00000002 ; *(int*)PaRAM_SRC_65 = (int)mcu.Tx_dma ; *(int*)PaRAM_BCNT_ACNT_65 = 0x00800001 ; *(int*)PaRAM_DST_65 = DXR1_EDMA ; *(int*)PaRAM_DSTBIDX_SRCBIDX_65 = 0x00000001 ; *(int*)PaRAM_BCNTRLD_LINK_65 = 0x00804820 ; *(int*)PaRAM_DSTCIDX_SRCCIDX_65 = 0x00000000 ; *(int*)PaRAM_Rsvd_CCNT_65 = 0x0000FFFF ; //--------------------------------------------------------- *(int*)SPCR1 |= (1<<16) ; // Включаю передатчик McBSP1 *(int*)ESR|= (1<<14) ; // Инициируем в ручную EDMA для EVT14, НО передача не начинается. Ещё смущает один момент. В SPRU966B на стр.33 написано про адрес DST: «The 32-bit destination address parameter specifies the starting byte address of the destination. For DAM in increment mode, there are no alignment restrictions imposed by EDMA3. For DAM in constant addressing mode, you must program the destination address to be aligned to a 256-bit aligned address (5LSBs of address must be 0).» Но адрес DXR1 для EDMA 0x34000010. Как быть? Буду очень признателен за помощь. С уважением, Den.
  14. Добрый день! По адресу http://c6000.spectrumdigital.com/dsk6455/v2/ найдете всё, что необходимо для работы с платой. Мой диск давно потерян, т.к. особой потребности в нем не возникало. С уважением, Den.