_sda 2 July 1 Posted July 1 · Report post Коллеги, при слабом сигнале всё работает нормально. А при увеличении уровня сигнала появляется "полочка". Есть ли возможность уйти от этого эффекта? Забыл сказать что длительность "полочки" равна удвоенной длительности импульса ЛЧМ. Quote Share this post Link to post Share on other sites More sharing options...
rloc 80 July 1 Posted July 1 · Report post Это боковые лепестки сжатого ЛЧМ. Методов уменьшения УБЛ много - от выбора оконной функции (потеря мощности), до синтеза НЧМ (нелинейная ЧМ, условно). Quote Share this post Link to post Share on other sites More sharing options...
Alex11 9 July 1 Posted July 1 · Report post Если посмотреть внимательно на первый график, то видно, что полочка там тоже есть, только она ниже уровня шумов. На втором -выше. Так а чем она Вам мешает? Уровень превышения пика -порядка 30 дБ. Quote Share this post Link to post Share on other sites More sharing options...
_sda 2 July 1 Posted July 1 · Report post В 01.07.2025 в 17:30, Alex11 сказал: Если посмотреть внимательно на первый график, то видно, что полочка там тоже есть, только она ниже уровня шумов. На втором -выше. Так а чем она Вам мешает? Уровень превышения пика -порядка 30 дБ. Так а порог обнаружения мне как выбирать? По верхнему снимку можно выбрать 18дБ, а по нижнему и 30дБ будет маловато. В 01.07.2025 в 17:29, rloc сказал: Это боковые лепестки сжатого ЛЧМ. Методов уменьшения УБЛ много - от выбора оконной функции (потеря мощности), до синтеза НЧМ (нелинейной ЧМ, условно). Я пока выбрал окно Чебышева с заданным подавлением, только слабо помогает. Quote Share this post Link to post Share on other sites More sharing options...
rloc 80 July 1 Posted July 1 · Report post 5 минут назад, _sda сказал: выбрал окно Чебышева Возьмите Наттолла (Nuttall) 100дБ. По картинке похоже на обычного Хемминга. Quote Share this post Link to post Share on other sites More sharing options...
_sda 2 July 1 Posted July 1 · Report post В 01.07.2025 в 17:40, rloc сказал: Возьмите Наттолла (Nuttall) 100дБ. Спасибо, стало немного легче, полочка стала такой но совсем не ушла. Совсем её подавить не реально? Quote Share this post Link to post Share on other sites More sharing options...
rloc 80 July 1 Posted July 1 · Report post 3 минуты назад, _sda сказал: но совсем не ушла Непонятные уши - какая-то нестыковка принятого и образцового сигналов. Есть окна под 300дБ. Но окно с большим УБЛ как правило не выход, SNR падает. Quote Share this post Link to post Share on other sites More sharing options...
_sda 2 July 1 Posted July 1 · Report post Если ещё увеличить уровень сигнала то становится такая картинка: В 01.07.2025 в 17:52, rloc сказал: Непонятные уши - какая-то нестыковка принятого и образцового сигналов. А как выяснить эту нестыковку? Кстати, окно Чебышева с затуханием 100дБ даёт точно такую же картинку. Изначально у меня было 50дБ. Quote Share this post Link to post Share on other sites More sharing options...
rloc 80 July 1 Posted July 1 · Report post 1 минуту назад, _sda сказал: А как выяснить эту нестыковку? Хотя бы пристально посмотреть на огибающую ЛЧМ во временной области, насколько прямоугольная, какие пульсации, нет ли обрезания по полосе (фильтр приемника должен быть с запасом). Quote Share this post Link to post Share on other sites More sharing options...
_sda 2 July 1 Posted July 1 · Report post В 01.07.2025 в 18:06, rloc сказал: Хотя бы пристально посмотреть на огибающую ЛЧМ во временной области, насколько прямоугольная, какие пульсации, нет ли обрезания по полосе (фильтр приемника должен быть с запасом). Я пока сейчас работаю с минимальной моделью, фильтров вообще никаких нет. Ситуация идеальная. Кстати, даже если поставить подавление окна 3000дБ эффект остаётся. Quote Share this post Link to post Share on other sites More sharing options...
rloc 80 July 1 Posted July 1 · Report post Может быть база сигнала слишком маленькая (произведение длительности на ширину полосы). Попробуйте сигнал взять длиннее раз в 10, при той же девиации. Какая частота дискретизации по отношению к ширине полосы? Quote Share this post Link to post Share on other sites More sharing options...
_sda 2 July 1 Posted July 1 · Report post Это с окном Nuttall и увеличенной в 10 раз базой. Амплитуда ушей в точности равна SNR 🙂 Quote Share this post Link to post Share on other sites More sharing options...
rloc 80 July 1 Posted July 1 · Report post Проще наверное выложить модель. Quote Share this post Link to post Share on other sites More sharing options...
blackfin 60 July 1 Posted July 1 · Report post On 7/1/2025 at 2:33 PM, _sda said: Забыл сказать что длительность "полочки" равна удвоенной длительности импульса ЛЧМ. IMHO, это влияние отрицательных частот в спектре вещественного ЛЧМ. Попробуйте посчитать корреляцию двух комплексных ЛЧМ. Quote Share this post Link to post Share on other sites More sharing options...
_sda 2 July 1 Posted July 1 · Report post В 01.07.2025 в 18:33, blackfin сказал: IMHO, это влияние отрицательных частот в спектре вещественного ЛЧМ. Сигнал у меня комплексный sig = complexchirp(StartF,StopF,Length_pulse,t,1,0); В 01.07.2025 в 18:33, blackfin сказал: Попробуйте посчитать корреляцию двух комплексных ЛЧМ. Я как раз этим и занимаюсь. В 01.07.2025 в 18:33, rloc сказал: Проще наверное выложить модель. Согласен, это не сложно. my_xcorr_v2.7z function out = complexchirp(f0,f1,t1,t,p,phi) % General function to compute beta and y for both %f0 - % t - N/Fs, длительность развёртки в секундах. % p - linear and quadratic modes, 1 - linear. % phi - начальная фаза компоненты re. beta = (f1-f0).*(t1.^(-p)); re = cos(2*pi * ( beta./(1+p).*(t.^(1+p)) + f0.*t + phi/360)); im = sin(2*pi * ( beta./(1+p).*(t.^(1+p)) + f0.*t + phi/360)); out = complex(re,im); function [osig,osnr] = create_radio_pulse_data2nois(idata,snr,add_frame) % добавление к радиоимпульсу нулевых отсчётов и шума N = length(idata); pows = var(idata); addzer = zeros(1,add_frame*N); odata = [addzer idata addzer]; onoise = wgn(length(odata),1,0)'; k = 1;%(2*add_frame+1); odata = sqrt(k*(10^(snr/10)) / pows) * odata; %plot(odata) osig = odata + onoise; opows = var(odata); opown = var(onoise); osnr = 10*log10(opows / opown); end Quote Share this post Link to post Share on other sites More sharing options...