Jump to content

    

Den

Свой
  • Content Count

    66
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Den

  • Rank
    Участник
  • Birthday 07/01/1979

Контакты

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

Информация

  • Город
    Нижний Новгород
  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. Цитата(fontp @ Nov 21 2012, 13:12) Я приводил ссылки на серию исчерпывающих исследований Стэнфордского университета по поводу частного способа интерполяции спектра с добавлением нулей http://electronix.ru/forum/index.php?showt...amp;hl=Stanford Там есть всё - выбор окон, влияние нестабильности частоты сигнала, и т.д. и т.п. Большое спасибо, буду разбираться. С уважением, Den. Цитата(fontp @ Nov 21 2012, 13:12) Определяете положение максимума (и возможно амплитуду).Потом уже гармонику точной частоты накладываете на входной сигнал и точно определяете фазу и амплитуду. Ещё один вопрос. Под наложением гармоники точной частоты, Вы имеете ввиду свертку с комплексной синусоидой, частоты определенной по максимуму параболы?
  9. Цитата(fontp @ Nov 21 2012, 13:12) Амплитуда и фаза максимального бина будут скакать из-за размывания спектра. Наоборот, сначала вы строите параболу по максимальному и соседним бинам. Определяете положение максимума (и возможно амплитуду).Потом уже гармонику точной частоты накладываете на входной сигнал и точно определяете фазу и амплитуду. Известно, что такой способ определения частоты и фазы достигает предельно возможной точности (максимального правдоподобия), при заданной длительности сигнала и умереннных отношениях сигнал шум (0-30 дб). Большинство других методов, тот же ФАПЧ, не оптимальны с точки зрения измерений по коротким последовательностям. То есть точность может быть достигнута, но время захвата не соответствует критериям Крамера-Рао А разве наложение весового окна не устранит (не минимизирует) растекание спектра?
  10. 128 точечное БПФ у меня высчитывается за 1.1 мкс. БПФ хочу делать по 4-м периодам, соответственно 512 точечное. С уважением, Den.
  11. Спасибо. Уважаемый fontp, прочитал много Ваших постов. Позвольте задать Вам вопрос, как человеку, разбирающемуся в этой теме. Правильный ли ход моих рассуждений по поводу следующей задачи… Сетевое напряжение 50 Гц. Необходимо вычислять фазу, частоту, амплитуду. Также необходимо проводить анализ гармонического состава. Значение фазы, частоты и амплитуды необходимо получать как можно быстрее… Планирую так: АЦП 16 бит, частота дискретизации 6400Гц, FIFO буфер БПФ на 512 точек, т.е. получается 128 точек на период. При поступлении каждой новой точки с АЦП в FIFO буфер, на него накладывается окно (Гауссовское?), производится БПФ. Далее нахожу амплитуду и фазу основной гармоники. Остается частота основной гармоники, необходимая точность измерения которой равна 0,01Гц. Возможно ли её определение по скорости изменения мгновенной фазы основной гармоники? Или же необходимо построение параболы по максимумам? С уважением, Den.
  12. Цитата(fontp @ Sep 4 2009, 14:55) Посмотрите здесь http://home.comcast.net/~kootsoop/EricJ2/index.htm Там есть Матлаб-файлы. Я когда-то пробовал их все. Macleod's estimator лучший в отношении систематических ошибок. При достаточно большом отношении сигнал/шум они выходят все на предельные ошибки по Крамеру-Рао: дисперсия ошибки измерения частоты CRLB(f) = 3/(2*pi*pi*N*N*N*SNR) N - размер блока, SNR - сиигнал/шум По мере увеличения размера блока и отношения сигнал/шум, когда предельная ошибка стремится к нулю, точность определяется систематическими ошибками алгоритма. Добрый день! Прошу прощение за поднятие давней темы. Где сейчас возможно достать файлы, обозначенные ссылкой? Буду очень признателен, если кто-то сможет выслать, или где то выложит. С уважением, 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. Цитата(PGN @ Sep 15 2011, 01:37) Прошу прощения, что не по теме, но с просьбой о помощи. Ищу Support CD от C6455 DSK. Взял комплект на пробу и нечаянно угробил CD. Долго ищу, но безрезультатно. Может быть Вас не затруднит выложить куда-нибудь имидж с Support CD? Доступа не FTP пока не имею. Ответ пожалуйста на pgn1951-at-mail.ru. Заранее признателен. Добрый день! По адресу http://c6000.spectrumdigital.com/dsk6455/v2/ найдете всё, что необходимо для работы с платой. Мой диск давно потерян, т.к. особой потребности в нем не возникало. С уважением, Den.