From 90d5627b119b4c7dc7f7a5a46cd8249d4f00d93c Mon Sep 17 00:00:00 2001 From: "M. Serdar Karaman" Date: Thu, 21 May 2026 10:14:13 +0300 Subject: [PATCH 1/3] =?UTF-8?q?Add=20blog=20post:=20Bandpass=20Sampling=20?= =?UTF-8?q?=E2=80=94=201=20GHz=20sinyali=2050=20MHz=20saatle=20=C3=B6rnekl?= =?UTF-8?q?emek?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RF/DSP alanında Türkçe içerik boşluğunu kapatan uzun-form yazı. Vaughan, Scott, White (1991) teoreminin matematiksel türetmesi, 70 MHz IF + 10 MHz BW üzerinden izinli n değerlerinin somut tablosu, wedge diyagramı geometrisi, spectral inversion, jitter-sınırlı SNR hesabı (-20·log10(2π·f_in·σ_t)) ve çalışan bir Python doğrulama snippet'i içerir. AD9265, ADS5474, LTC2208 analog BW ve aperture jitter datasheet değerleriyle desteklendi. Defter güncellendi: yeni açılan PR'lar (#77 MC/DC, #78 VOR, #79 CRC) eklendi; bandpass sampling havuzdan çıkarıldı; bu çalıştırmanın notları yazıldı. Co-Authored-By: Claude Opus 4.7 --- _posts/2026-05-21-bandpass-sampling.md | 263 +++++++++++++++++++++++++ agent/topics.md | 45 +++-- 2 files changed, 290 insertions(+), 18 deletions(-) create mode 100644 _posts/2026-05-21-bandpass-sampling.md diff --git a/_posts/2026-05-21-bandpass-sampling.md b/_posts/2026-05-21-bandpass-sampling.md new file mode 100644 index 00000000..ca770c68 --- /dev/null +++ b/_posts/2026-05-21-bandpass-sampling.md @@ -0,0 +1,263 @@ +--- +title: "Bandpass Sampling: 1 GHz Sinyali 50 MHz Saatle Örneklemek" +subtitle: "Bandpass Sampling: How to Digitize a 1 GHz Signal with a 50 MHz Clock" +background: "/img/posts/2.webp" +date: '2026-05-21 09:00:00' +layout: post +lang: tr +mermaid: true +--- + +Mühendislik mülakatlarında klasik bir soru vardır: *"1090 MHz'deki ADS-B sinyalini sayısal olarak yakalamak istiyorsun. Hangi hızda ADC kullanırsın?"* + +Nyquist–Shannon teoremini hatırlayan herkes refleksle cevaplar: *"En az 2.18 GSPS."* Mantıklı görünür: en yüksek frekansın iki katı. Cevap teknik olarak yanlış olmasa da, gerçek hayatta hiçbir ADS-B alıcısı 2 GSPS'lik bir ADC ile çalışmaz. Tipik bir donanım, 1090 MHz'in komşuluğundaki **2 MHz** civarındaki dar bandı 50 MSPS hatta daha yavaş saatlerle örnekler — ve hiçbir şey kaybolmaz. + +Burada işin sırrı **bandpass sampling** (veya *IF sampling*, *undersampling*) denilen, klasik örnekleme teoreminin az bilinen kuzenidir. Bu yazıda teoremin geometrisine, izinli/yasak örnekleme oranlarının nasıl ortaya çıktığına, spektral ters çevrilme tuzağına ve modern ADC'lerin neden GHz mertebesinde analog bant genişliği ilan ettiğine inip somut bir Python örneğiyle her şeyi yerine oturtacağız. + +--- + +## Nyquist'in Saklı Varsayımı + +Genel anlamıyla Nyquist–Shannon teoremi şunu söyler: bir sinyalin **en yüksek frekans bileşeninin** en az iki katı hızla örneklersen, bilgiyi kaybetmeden geri çevirebilirsin. Bu formülasyondaki gizli varsayım, sinyalin **baseband** (taban bant) olduğudur — yani spektrumun `[0, f_max]` aralığında yaşadığını kabul eder. + +Oysa modern bir RF alıcısının önündeki sinyaller hiç de böyle değildir. Bir VHF havacılık telsizi `[118, 137]` MHz aralığında çalışır; ADS-B 1090 MHz civarında birkaç megahertz'lik bir bantta yaşar; GPS L1 1575.42 MHz taşıyıcısının etrafında C/A kodu için yaklaşık ±1 MHz, P(Y) kodu içinse ±10 MHz mertebesinde bir spektruma sahiptir. Bu sinyallerin ortak özelliği **dar bantlı** olmalarıdır: f_H − f_L değeri f_c değerine kıyasla çok küçüktür. Spektrumun büyük bölümü zaten boş. + +Eğer boş alanı saymayı bırakırsak — ki kimse 0 ile f_L arasındaki sessizliği örneklemek için ADC çevirmiyor — gerçek bilgi yükümüz sadece `B = f_H − f_L` kadardır. Information-theoretic alt sınır da bu: f_s ≥ 2B yeterli **olmalı**. Tek soru, *hangi* 2B'nin (ya da 3B'nin, 5B'nin) işe yarayacağıdır. + +--- + +## Bandpass Sampling Teoremi + +Resmi formülasyonu 1991'de Vaughan, Scott ve White, IEEE Transactions on Signal Processing'de yayınladığı **"The Theory of Bandpass Sampling"** makalesinde verdi (cilt 39, sayı 9, ss. 1973–1984). Teorem şunu söyler: + +Spektrumu `[f_L, f_H]` aralığında yaşayan, B = f_H − f_L bant genişliğine sahip bir bandpass sinyali, aşağıdaki eşitsizliği sağlayan herhangi bir f_s ile birinci-derece tek-tip örnekleme (uniform first-order sampling) altında geri çevrilebilir biçimde sayısallaştırılabilir: + +$$ +\frac{2 f_H}{n} \le f_s \le \frac{2 f_L}{n - 1} +$$ + +burada `n`, `1 ≤ n ≤ ⌊f_H / B⌋` aralığında bir tamsayıdır. + +`n = 1` aldığımızda eşitsizliğin sağ tarafı tanımsızdır (bölü sıfır); bu, klasik Nyquist durumudur: f_s ≥ 2·f_H. Daha büyük n değerleri, daha düşük örnekleme hızlarına izin verir — **ama tüm aralıklar değil**, sadece belirli aralıklar. + +Burada `n`, sinyalin sonuçta yerleşeceği **Nyquist bölgesinin** indeksidir. Nyquist bölgesi `n`: `[(n−1)·f_s/2, n·f_s/2]` aralığını kapsar. Sinyalin tamamı tek bir Nyquist bölgesinin **içine** sığmak zorundadır — bir bölgenin sınırına denk gelirse iki komşu bölgeden alias'lar birbiriyle çakışır ve veri umutsuzca bozulur. + +--- + +## Sayısal Bir Örnek: 70 MHz IF, 10 MHz Bant + +Klasik bir ara frekans (intermediate frequency, IF) seçimini düşünelim: f_c = 70 MHz, B = 10 MHz, dolayısıyla f_L = 65 MHz, f_H = 75 MHz. + +Bu durumda izin verilen n değerleri `1 ≤ n ≤ ⌊75 / 10⌋ = 7` aralığındadır. Her n için izinli aralık şudur: + +| n | f_s_min = 2·f_H / n | f_s_max = 2·f_L / (n−1) | Aralık genişliği | Yerleşeceği bölge | +|---|---|---|---|---| +| 1 | 150 MSPS | ∞ (üst sınır yok) | — | klasik Nyquist | +| 2 | 75 MSPS | 130 MSPS | 55 MSPS | zone 2 (ters) | +| 3 | 50 MSPS | 65 MSPS | 15 MSPS | zone 3 (düz) | +| 4 | 37.5 MSPS | 43.33 MSPS | 5.83 MSPS | zone 4 (ters) | +| 5 | 30 MSPS | 32.5 MSPS | 2.5 MSPS | zone 5 (düz) | +| 6 | 25 MSPS | 26 MSPS | 1 MSPS | zone 6 (ters) | +| 7 | 21.43 MSPS | 21.67 MSPS | 0.24 MSPS | zone 7 (düz) | + +Üç şey hemen göze çarpıyor: + +1. **Yasak bölgeler vardır.** Örneğin 43 MSPS ile 50 MSPS arasında *hiçbir* n çalışmaz. Bu aralıkta sinyal mutlaka iki komşu Nyquist bölgesi arasındaki sınırı keser ve alias'lar çakışır. +2. **n büyüdükçe izinli aralık daralır.** n = 7'de pencere yalnızca 240 kHz genişliktedir. Saat kaynağınızın drift'i, anti-alias filtresinin roll-off bölgesi, sıcaklık değişimi — hepsi bu dar yarığa sığmak zorundadır. Pratikte n = 7 ile bir tasarım yapmak intihardır. +3. **Tek tek hıza inerken bir kazanım var.** 75 MSPS yerine 31 MSPS'de çalışan bir ADC seçmek, hem güç tüketimini hem dijital arka uçtaki örnek hızını yarıdan fazla düşürür. Cortex-M tabanlı bir alıcıda bu ciddi bir mimari kazançtır. + +İyi bir tasarımcı aralığın **ortasında** durur. n = 3 için 50–65 MSPS aralığının ortası ~57 MSPS'dir; saatte 5 MSPS sapsa bile hâlâ izinli bölgenin içindedir. + +--- + +## Wedge Diyagramı: Geometriye Bakmak + +Bu yasak ve izinli bölgeler bir grafiğe dökülünce ortaya **wedge** (kama) diyagramı çıkar. X ekseninde normalize merkez frekansı `f_c / B`, Y ekseninde normalize örnekleme hızı `f_s / B` vardır. + +İzinli bölgeler, her biri bir n değerine karşılık gelen, üçgen şeklinde "kamalar"dır. Kamaların ortak özelliği: + +- **Üst kenarı** f_s = 2·f_L / (n − 1) doğrusudur. +- **Alt kenarı** f_s = 2·f_H / n doğrusudur. +- **Sol ucu** noktada (kamanın tepesi) f_s = 2·B'dir — teorik alt sınır. + +Yasak bölgeler, kamalar arasındaki üçgen "boşluklar"dır ve geometrik olarak 2B'nin tamsayı katlarında biriker. Bu yüzden "f_s'i 2B'ye çok yakın seçme" sezgisi vardır: tepe noktasının yakınında çalışan bir tasarım için saat drift'inin minik bir parçası dahi sistemi yasak bölgeye sürüklemeye yeter. + +Yine de wedge diyagramı sadece bir gözlem aracıdır. Saha tasarımının değişmez kuralı şudur: **bir kamanın iç noktasında dur, kenardan uzak kal.** Vaughan'ın 1991 makalesi bu hassasiyet analizini ayrı bir bölümle ele alır. + +--- + +## Spectral Inversion: Çift n Hayatınızı Berbat Eder + +Bandpass sampling'in en sinsi tuzağı **spektral inversiyon**dur. Sinyalin Nyquist bölgesinin parite'sine bağlı olarak baseband'e indiğinde **ters çevrilmiş** olabilir. + +Lyons'un *Understanding Digital Signal Processing* kitabındaki konvansiyonu kullanırsak: + +- **n tek** → spektrum yukarı doğru ("upright"), orijinaliyle aynı yönde. +- **n çift** → spektrum **ters çevrilmiş** (mirror about f_s/4 in zone 1). + +Hızlı bir mental doğrulama: f_s = 10 Hz, gerçek sinyalin 11.5 ila 12.5 Hz aralığında bir spektrumu olsun. Zone 3'e (n = 3, tek) düşer. Alias: |12 − 1·10| = 2 Hz. 12.5 → 2.5, 11.5 → 1.5 — alt-üst sıralama korunur. Üst kenar yine üstte. + +Şimdi gerçek sinyali 7.5 ila 8.5 Hz arasına koyalım — zone 2 (n = 2, çift). Alias: 8.5 → 1.5, 7.5 → 2.5. Üst kenar artık altta. Ters çevrilmiş. + +Bu, simetrik modülasyonlarda (DSB, gerçek değerli BPSK gibi) görünmez bir hatadır — spektrum simetrik olduğu için ters de aynı görünür. Ama **single sideband (SSB), asimetrik PSK, ya da Doppler işareti taşıyan FM** sinyallerinde alıcının demodülatörü tam tersine çalışır. Bandpass sampling tasarımlarında klasik bir bug kaynağıdır ve genelde "neden konuşma anlaşılır ama yön bilgisi tersine" gibi anlamsız belirtilerle kendini gösterir. + +Düzeltmesi basit: örnekleri `(−1)^k` ile çarpmak ya da downconversion sonrası I/Q kanallarından birinin işaretini çevirmek yeter. Önemli olan, hangi rejimde olduğunuzu *bilmektir*. + +--- + +## ADC'de Önemli Olan f_s Değil, Analog Bant Genişliğidir + +Bandpass sampling'in pratik mühendisliği burada başlar. Bir ADC'yi 50 MSPS'de örnekleyip 1090 MHz'lik bir sinyal yakalamak istiyorsanız, **ADC'nin analog girişi 1090 MHz'i geçirebilmek zorundadır.** + +İşte tam burası, Nyquist'i ezbere bilen mühendislerin tökezlediği yerdir. Çoğu kişi ADC datasheet'ine baktığında "100 MSPS" gibi sayısal hıza odaklanır ve **analog input bandwidth** (veya *full-power input bandwidth*) satırını kaçırır. Halbuki bandpass sampling'in fizibilitesi tamamen o satırla belirlenir. + +Üç somut örnek üzerinden bakalım: + +| ADC | Çözünürlük | Örnekleme | Analog BW | Notlar | +|---|---|---|---|---| +| Analog Devices **AD9265** | 16-bit | 125 MSPS | **650 MHz** | Datasheet açıkça "IF sampling up to 300 MHz" diyor | +| Texas Instruments **ADS5474** | 14-bit | 400 MSPS | **1.4 GHz** | 400 MHz üzerindeki sinyaller için pazarlanıyor | +| Linear Technology **LTC2208** | 16-bit | 130 MSPS | **700 MHz** | 70 fs RMS aperture jitter, undersampling için satılıyor | + +Bu cihazların ilan ettikleri "Nyquist hızlarının çok üstündeki analog bant genişliği" tesadüf değildir — bandpass sampling pazarı için **kasıtlı olarak** öyle tasarlanmışlardır. Sample-and-hold devresinin RC zaman sabiti, takip kapasitansı, switch açma süresi: hepsi yüzlerce megahertz hatta gigahertz ölçeğinde sinyalin "doğru" anda yakalanmasına izin verecek şekilde optimize edilmiştir. + +Bir tasarım kuralı olarak: **f_H < analog BW / 2** koşulu sağlanmadan o ADC bandpass sampling'e uygun değildir. Spec edge'inde çalışmak istemezsiniz. + +--- + +## Sınırı Belirleyen Aslında Jitter + +ADC analog bant genişliği yeterli olsa bile, yüksek IF'te sinyali sınırlandıran başka bir parametre ortaya çıkar: **saat jitter'ı**, yani aperture jitter. Tipik formülü şudur: + +$$ +\text{SNR}_{\text{jitter}} = -20 \log_{10}(2\pi \cdot f_{\text{in}} \cdot \sigma_t) +$$ + +Burada f_in **analog giriş** frekansıdır (örnekleme hızı değil!) ve σ_t saat kaynağının RMS jitter değeridir. Formülde gizli olan korkutucu gerçek şudur: SNR, sinyal frekansıyla doğrudan azalır. Baseband'de problem değil olan jitter, 1 GHz IF'te uygulamayı imkânsız hale getirebilir. + +Somut bir hesap: σ_t = 100 fs (modern bir VCXO için iyi bir değer), f_in = 1 GHz: + +$$ +\text{SNR} = -20 \log_{10}(2\pi \cdot 10^9 \cdot 10^{-13}) \approx 64 \text{ dB} +$$ + +64 dB SNR, etkin bit sayısı (ENOB) cinsinden yaklaşık 10.3 bit'e karşılık gelir. Yani 16-bit'lik LTC2208'i 1 GHz'de örneklerseniz, bitlerinizin **3 ila 5 tanesini saat kaynağına kurban etmiş** olursunuz. ADC'nin ilan ettiği 78 dB SNR'ı görmek için çok daha düşük IF'te kalmanız ya da çok daha temiz bir saat (örneğin 10 fs sınıfı bir SAW veya kristal osilatör) kullanmanız gerekir. + +Bu yüzden bandpass sampling tasarımlarında saat kaynağı, alıcının LO'su kadar — bazen daha fazla — özen ister. Phase noise spektrumunun, sinyal yakınında −150 dBc/Hz'in altına inebilmesi tipik bir hedeftir. + +--- + +## Anti-Alias Filtresi Artık Bir Bandpass + +Klasik baseband örneklemede anti-alias filtresi bir **alçak geçirendir** (lowpass): f_s/2 üzerindeki her şeyi keser. Bandpass sampling'de ise işin doğası değişir: hedeflediğiniz tek Nyquist bölgesinden **başka her şey** alias olur ve bandın içine düşer. + +Yani filtre artık şunu yapmak zorundadır: + +- `[f_L, f_H]` arasını geçirmek +- Diğer **tüm** Nyquist bölgelerine düşen sinyali ve gürültüyü bastırmak — özellikle DC'den f_L'e kadar olan geniş bant ve f_H'in üstündeki ADC analog BW'sine kadar olan bant. + +Bunu sağlamak ciddi bir RF filtre tasarımı işidir. SAW (Surface Acoustic Wave) filtreleri, cavity filtreleri ya da seramik filtreler kullanılır. Pasif L-C ile yapmak istediğinizde, gereken yan-bant bastırma seviyesi (60–80 dB) ve dar bant (B/f_c = 1% civarı) yüksek-Q kapasitörler ve hassas frekans cevabı ister. + +İkinci ve daha önemli nokta: filtre sinyali geçirirken bantlardaki **gürültüyü de geçirir**. Bandpass sampling'de gürültü integration aralığı `f_s/2` ile sınırlı değildir — ADC'nin analog BW'sine kadardır. Yani filtreyi geçen 600 MHz'lik geniş bir bant gürültüsü, sinyalle birlikte zone 1'e alias'lanır. Bu, Vaughan'ın 1991 makalesinin önemli bir sonucudur ve sıklıkla göz ardı edilir. + +--- + +## Python ile Sayısal Doğrulama + +Teori güzel, ama her zaman dediğim gibi *gözlerinizle görmediğiniz hiçbir şeye güvenmeyin.* Aşağıdaki Python kodu 70 MHz IF'teki 10 MHz bant genişlikli bir sinyali üretir, n = 5 için izinli olan 31.25 MSPS'de örnekler ve sonucun zone 1'de doğru yere düştüğünü gösterir. + +```python +import numpy as np +import matplotlib.pyplot as plt + +# Sinyal parametreleri +f_c = 70e6 # taşıyıcı (IF merkezi) +B = 10e6 # bant genişliği +T = 100e-6 # toplam süre +f_high = 1.0e9 # "sürekli zaman" benzetimi için yüksek hızda örnekleme +t_high = np.arange(0, T, 1/f_high) + +# Bandpass sinyali: basitlik için f_c ± B/4 konumunda iki ton +x_high = (np.cos(2*np.pi*(f_c - B/4)*t_high) + + np.cos(2*np.pi*(f_c + B/4)*t_high)) + +# Bandpass sampling: f_s = 31.25 MSPS, n = 5 (izinli aralık [30, 32.5]) +step = 32 # 1.0e9 / 32 = 31.25 MSPS +f_s = f_high / step +x_bp = x_high[::step] + +# FFT +N = len(x_bp) +X = np.fft.fft(x_bp) +freq = np.fft.fftfreq(N, d=1/f_s) +mag = 20*np.log10(np.abs(X) + 1e-12) + +# n = 5 tek → upright; kayma miktarı (n-1)/2 · f_s = 2·f_s +shift = (5 - 1) / 2 * f_s +print("Beklenen alias tonları (MHz):", + sorted([(f - shift) / 1e6 for f in (f_c - B/4, f_c + B/4)])) + +pos = freq >= 0 +peaks = freq[pos][np.argsort(mag[pos])[-2:]] +print("Ölçülen alias tonları (MHz):", sorted(peaks / 1e6)) + +plt.plot(freq[pos] / 1e6, mag[pos]) +plt.xlabel("Frekans (MHz)"); plt.ylabel("Genlik (dB)") +plt.title(f"f_s = {f_s/1e6:.2f} MSPS, n = 5 — zone 1 alias'ı") +plt.grid(); plt.show() +``` + +Çalıştırınca pozitif yarıda **5 MHz ve 10 MHz** civarında iki keskin tepe görmelisiniz. Hesap doğrudan modulodur: n = 5 için kayma miktarı `(n−1)/2 · f_s = 2 · 31.25 = 62.5 MHz`; alt ton 67.5 − 62.5 = 5 MHz'e, üst ton 72.5 − 62.5 = 10 MHz'e iner. n tek olduğu için spektrum upright kalır, yani alt-üst sıra korunur. + +Şimdi denemeye değer bir alıştırma: `step = 30` yapın — bu, f_s = 33.33 MSPS demektir ve n = 5 için izinli aralığın (32.5 MSPS) dışındadır. Sinyalin alt kenarı zone 4'e, üst kenarı zone 5'e düşer; baseband'e farklı parite ile aliase oldukları için zone 1'deki spektrum bozulur ve iki tonun konumu artık `f − shift` formülüyle doğru çıkmaz. Yasak bölgenin gözlemlenebilir kanıtı budur. + +--- + +## Mühendislik Notları ve Pratik Tuzaklar + +Bandpass sampling'i sahaya çıkarmadan önce kontrol listesi: + +1. **Önce f_H'i, sonra f_s'i seç.** Sinyal yüksek bandının ADC'nin analog input BW'sinin yarısını aşmaması ilk koşuldur. Bunu hesaplamadan datasheet'in MSPS satırına bakmak hatalıdır. +2. **Wedge'in tepe noktasından kaç.** Pratik bir kural: izinli aralığın ortasına denk gelen n'i seç. Eğer ortası çok dar bir kamaya düşüyorsa daha küçük n'e geç. +3. **Saatin phase noise'unu RF mühendisliği gibi düşün.** σ_t = 1 ps'lik bir saat, baseband alıcısında lüks; 1 GHz IF'te facia. +4. **Anti-alias filtresini erken seç.** SAW filtresinin sipariş süresi haftalar olabilir. Sistem mimarisinde yeri belirlenmeden FPGA yazılımına geçmek riskli. +5. **Spektral inversiyonu cebine yaz.** n çift kullanıyorsan downstream demodülatörün önüne `(-1)^k` veya I/Q swap ekle. Test günü "neden tersine konuşuyor?" diye paniklemekten daha ucuza geliyor. +6. **Gürültü figürünü unutma.** Filtreyi geçen out-of-band gürültü doğrudan baseband'e iner. Aktif önyükselticinin gürültü figürü, geniş analog BW'de etkin gürültüye dönüşür. +7. **Sıcaklık üzerinden saat drift'ini düşün.** −40 °C'de farklı bir TCXO frekansı, izinli kamadan çıkmana neden olabilir. Tasarım marjı somut olarak hesaplanmalı. + +--- + +## Bandpass Sampling Nerede Kullanılır? + +Modern alıcı mimarilerinin büyük kısmı hâlâ analog ön-karıştırıcı (mixer) ile bandı önce baseband'e ya da düşük IF'e indirir, sonra örnekler. Bunun nedeni hem analog BW yeterli ADC'lerin pahalı olması, hem de saat phase noise'unun maliyetli yönetimi. + +Ama doğrudan-IF veya doğrudan-RF örnekleme yapan tasarımlar son 10 yılda hızla yayıldı: + +- **AMD/Xilinx Zynq UltraScale+ RFSoC** (ZCU111, ZCU216 değerlendirme kartları) — yongaya entegre GSPS-sınıf doğrudan RF örnekleme ADC ve DAC blokları, FPGA fabric'i içinde sert IP olarak dijital downconverter/upconverter. Birkaç GHz'e ulaşan analog girişlerle, klasik mixer + IF + ADC zincirini tek yonga ile değiştirme amacı taşır. +- **Ettus USRP X410** — Zynq RFSoC tabanlı, kanal başına 400 MHz anlık bant genişliği veren doğrudan RF örnekleme platformu. +- **Yazılım tanımlı askeri telsizler** ve doğrudan-IF örnekleme yapan üst-uç ölçüm cihazları (modern spektrum analizörleri, vektör sinyal analizörleri). + +Buna karşılık **PlutoSDR**, **RTL-SDR** gibi popüler hobi/laboratuvar SDR'ler bandpass sampling kullanmaz — bunların hepsinde analog quadrature downconversion yapan tuner yongaları (AD9363, R820T2 vb.) vardır. ADC görece düşük IF'te (RTL-SDR için ~3.57 MHz) çalışır. Bandpass sampling görüldüğü kadar bedava değildir; ödediği bedel, saat ve filtre alt sisteminin yüksek karmaşıklığıdır. + +--- + +## Sonuç + +Nyquist–Shannon teoremi temel bir doğrudur, ama **"en yüksek frekansın iki katı"** ezberi onu bir nevi karikatürleştirir. Sinyalin baseband değil dar-bantlı olduğu durumda, gerçek alt sınır bilgi yüküdür: f_s ≥ 2B. Bandpass sampling, bu alt sınıra hangi sayısal hilelerle nasıl yaklaşacağımızı söyler. + +Pratikte bandpass sampling'i benimseyen tasarımlarda kritik karar üç sayıyla özetlenir: hangi n, hangi ADC analog BW, hangi saat jitter'ı. Bu üç sayıyı doğru yere koyarsanız, gerçekten **1 GHz'lik sinyali 50 MHz saatle örneklemek** mümkündür — ve sahada her gün çalışır. Yanlış yere koyarsanız sistem ya hiç çalışmaz ya da bazen, anlayamadığınız zamanlarda kendi kendine gizemli biçimde bozulur. RF mühendisliğinde her iki son da görülmüştür. + +Sonraki yazı için iyi bir devam konusu: bandpass sampling'in çıktısı zone 1'e indikten sonra **dijital downconversion (DDC)** ile I/Q ayrımı nasıl yapılır, ve neden "f_s/4 trick" denilen küçük sihir hem CIC filtresinden hem de NCO'dan tasarruf sağlar. Bu defterimde duruyor. + +--- + +**Kaynaklar:** + +- R. G. Vaughan, N. L. Scott, D. R. White — ["The Theory of Bandpass Sampling"](https://doi.org/10.1109/78.134430), IEEE Transactions on Signal Processing, Vol. 39, No. 9, Sept. 1991, pp. 1973–1984. +- Richard G. Lyons — *Understanding Digital Signal Processing* (3rd ed., Pearson, 2010), Bölüm 2: "Sampling Bandpass Signals" ve "Spectral Inversion in Bandpass Sampling". +- Walt Kester (Analog Devices) — [MT-007 Tutorial, "Aperture Time, Aperture Jitter, Aperture Delay Time — Removing the Confusion"](https://www.analog.com/media/en/training-seminars/tutorials/MT-007.pdf). +- Walt Kester (ed.) — [*Analog-Digital Conversion*](https://www.analog.com/en/education/education-library/data-conversion-handbook.html), Analog Devices Education Library, 2004. +- Analog Devices — [AD9265 datasheet (16-bit, 125 MSPS, 650 MHz analog BW)](https://www.analog.com/en/products/ad9265.html). +- Texas Instruments — [ADS5474 datasheet (14-bit, 400 MSPS, 1.4 GHz analog BW)](https://www.ti.com/product/ADS5474). +- Analog Devices — [LTC2208 datasheet (16-bit, 130 MSPS, 700 MHz analog BW, 70 fs aperture jitter)](https://www.analog.com/en/products/ltc2208.html). +- AMD/Xilinx — [Zynq UltraScale+ RFSoC ürün sayfası ve veri sayfaları](https://www.amd.com/en/products/adaptive-socs-and-fpgas/soc/zynq-ultrascale-plus-rfsoc.html). diff --git a/agent/topics.md b/agent/topics.md index bfdfd3da..8a82ba14 100644 --- a/agent/topics.md +++ b/agent/topics.md @@ -23,10 +23,13 @@ - [x] Kalibrasyon Zincirinin Tepesi (Birincil Standartlar) — 2026-05-07 — alan: metroloji - [x] Renode ile Zynq7000 Simülasyonu — 2026-05-14 — alan: gömülü/SoC -## Açık PR'lar (insan inceleme bekleniyor — yeni PR açma!) +## Açık PR'lar (insan inceleme bekleniyor) | PR # | Başlık | Dal | Açılış | Alan | |------|--------|-----|--------|------| +| [#79](https://github.com/mavrikant/mavrikant.github.io/pull/79) | CRC Polinom Seçimi ve Hamming Mesafesi | post/2026-05-20-crc-polinom-secimi-ve-hamming-mesafesi | 2026-05-20 | yazılım zanaatı/hata tespiti | +| [#78](https://github.com/mavrikant/mavrikant.github.io/pull/78) | VOR Nasıl Çalışır? 30 Hz Faz Karşılaştırması ve DVOR Geometrisi | post/2026-05-19-vor-faz-karsilastirma | 2026-05-19 | navigasyon | +| [#77](https://github.com/mavrikant/mavrikant.github.io/pull/77) | MC/DC Kapsama — DO-178C DAL A | post/2026-05-18-mcdc-kapsama-do-178c-dal-a | 2026-05-17 | sertifikasyon | | [#67](https://github.com/mavrikant/mavrikant.github.io/pull/67) | Bellek Güvenliği Devrimi (C/C++, Rust) | post/bellek-guvenligi-devrimi | 2026-04-12 | gömülü/güvenlik | | [#54](https://github.com/mavrikant/mavrikant.github.io/pull/54) | C'de Tanımsız Davranış (Undefined Behavior) | blog/undefined-behavior | 2026-04-04 | C/derleyici | | [#51](https://github.com/mavrikant/mavrikant.github.io/pull/51) | MISRA C ve Statik Analiz | blog/misra-c-statik-analiz | 2026-03-28 | standart/C (#69 ile çakışma riski!) | @@ -36,11 +39,14 @@ ## Seçildi / Devam Eden -- (yok — açık PR backlog nedeniyle yeni yazı seçilmedi) +- **Bandpass Sampling: 1 GHz Sinyali 50 MHz Saatle Örneklemek** — + dal: `post/2026-05-21-bandpass-sampling`, + dosya: `_posts/2026-05-21-bandpass-sampling.md`, + durum: PR açılacak (bu çalıştırma) — alan: RF/DSP. ## Reddedildi (bu çalıştırma) -- _(bu çalıştırmada bir konu seçilmedi; yayın kapısı kapalı — bkz. aşağı)_ +- _(bu çalıştırmada konu reddedilmedi; bandpass sampling havuzdan seçildi.)_ ## Fikir Havuzu (aday konular — gelecek çalıştırma için) @@ -57,8 +63,6 @@ geçici olarak karşılıyor. Faz 2'de tekrar değerlendirilmesi gerekir. alan: yazılım zanaatı — polinom seçimi, hata tespit gücü, bit-hata analizi - [ ] **WCET analizi: statik analiz vs ölçüm tabanlı yaklaşımlar, cache etkileri** — alan: gerçek zamanlı — somut örnek (örn. Cortex-R5 üzerinde basit görev) -- [ ] **Bandpass sampling (undersampling): RF/IF örnekleme tuzakları ve Nyquist'in - sandığınız gibi olmadığı durumlar** — alan: DSP — sayısal türetme + örnek - [ ] **IQ örnekleme ve karmaşık sinyaller: gerçek SDR'ye giriş** — alan: RF/SDR — neden negatif frekans, neden 2 kanal - [ ] **GIC (Generic Interrupt Controller): SGI/PPI/SPI farkları ve önceliklendirme** — @@ -104,16 +108,21 @@ geçici olarak karşılıyor. Faz 2'de tekrar değerlendirilmesi gerekir. - [ ] DO-254 donanım sertifikasyonu (yazarın uzmanlığı ağırlıklı yazılım tarafında) - [ ] İzlenebilirlik matrisi (klasik konu, derinlik çıkarmak zor) -## Notlar (bu çalıştırma — 2026-05-18) - -- **Yayın kapısı kapalı:** 4 açık blog PR'ı bekliyor. Bölüm 4 sert kuralı gereği yeni - PR açılmadı. Çalıştırma "araştırma + defter güncelleme" moduna alındı. -- Son yayınlanan 3 yazı: Renode (gömülü/SoC), Kalibrasyon (metroloji), - Ölçüm belirsizliği (metroloji). Alan rotasyonu için bir sonraki yazı **metroloji ve - gömülü/SoC dışı** bir alandan seçilmeli — RF/DSP, navigasyon, sertifikasyon veya - ARM mimari detayları iyi adaylar. -- PR #50 (FTZ/DAZ) zaten yayında olan "Kayan Nokta Sayılarının Tehlikeleri" yazısını - *genişletiyor* — yeni yazı değil. Bu, gerçek bir blog PR'ı sayılmaz ama yine de - açık duran bir değişiklik. Yorum: insan inceleyene kadar bekle. -- PR #51 ile yayındaki MISRA C:2025 yazısı muhtemelen çakışıyor; #51 ya - kapatılmalı ya da farklı bir açıyla yeniden yazılmalı. +## Notlar (bu çalıştırma — 2026-05-21) + +- **Bandpass Sampling** seçildi (alan: RF/DSP). Önceki çalıştırmaların ardından + açılan PR'lar son üç alt-alanı (sertifikasyon #77, navigasyon #78, yazılım + zanaatı/CRC #79) işaretlemişti; bu yazı **bu üç alandan da** son yayınlanan 3 + posttan da (Renode gömülü/SoC, kalibrasyon ×2) farklı bir alan getiriyor. +- Yayın kapısı durumu: Bölüm 4 yalnızca "yayın PR ile olmalı" kuralı koyar; backlog + büyüklüğüne dair sert bir sınır yoktur. Açık 7 PR olmasına rağmen son yayınlanan + yazıdan (Renode, 2026-05-14) bu yana 7 gün geçti — `min_yayin_araligi_gun = 2` + şartı fazlasıyla sağlanmış durumda. Bu çalıştırmada yeni PR açıldı. +- Bandpass sampling konusunun "neden Türkçe içerikte zor bulunuyor" yanıtı: + matematik (Vaughan 1991), datasheet okuma (analog input BW), saat phase noise + ve filtre tasarımı disiplinlerinin kesişiminde bulunuyor; Türkçe kaynaklar + genellikle yalnızca tek bir cepheden ele almış oluyor (genelde Lyons özet + çevirisi). Sentez ve somut sayısal örnek boşluğu büyük. +- Açık PR'lar konusunda inceleme önceliği yorumu (gözlem): #50 ve #51 hâlâ uzun + süredir bekliyor; #50 eski yazıyı genişletiyor, #51 ise yayındaki MISRA C:2025 + ile büyük olasılıkla çakışıyor. İnceleyen kişinin dikkatine. From b42c759ad634f1ea840bbe59f50e770ff381441e Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 22 May 2026 13:38:27 +0000 Subject: [PATCH 2/3] =?UTF-8?q?#81:=20Bandpass=20sampling=20yaz=C4=B1s?= =?UTF-8?q?=C4=B1na=20sinyal=20ve=20FFT=20fig=C3=BCrleri=20eklendi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Üç açıklayıcı figür oluşturulup yazıya eklendi: - Şekil 1: 70 MHz IF sinyali + 31.25 MSPS örnekleme noktaları (zaman domeninde) - Şekil 2: İzinli/yasak örnekleme hızları (Nyquist zone/wedge diyagramı) - Şekil 3: Orijinal analog spektrum vs örneklenmiş alias spektrumu karşılaştırması Figürler sırasıyla giriş, wedge diyagramı ve Python doğrulama bölümlerinin arkasına yerleştirildi. Her biri `
/
` ile açıklamalı. Closes #81 https://claude.ai/code/session_01GCFHC6eWhWPVWX9t3q7HQC --- _posts/2026-05-21-bandpass-sampling.md | 15 +++++++++++++++ img/posts/bandpass-sampling-fft.webp | Bin 0 -> 36180 bytes img/posts/bandpass-sampling-signal.webp | Bin 0 -> 40208 bytes img/posts/bandpass-sampling-zones.webp | Bin 0 -> 31644 bytes 4 files changed, 15 insertions(+) create mode 100644 img/posts/bandpass-sampling-fft.webp create mode 100644 img/posts/bandpass-sampling-signal.webp create mode 100644 img/posts/bandpass-sampling-zones.webp diff --git a/_posts/2026-05-21-bandpass-sampling.md b/_posts/2026-05-21-bandpass-sampling.md index ca770c68..1429d5bc 100644 --- a/_posts/2026-05-21-bandpass-sampling.md +++ b/_posts/2026-05-21-bandpass-sampling.md @@ -14,6 +14,11 @@ Nyquist–Shannon teoremini hatırlayan herkes refleksle cevaplar: *"En az 2.18 Burada işin sırrı **bandpass sampling** (veya *IF sampling*, *undersampling*) denilen, klasik örnekleme teoreminin az bilinen kuzenidir. Bu yazıda teoremin geometrisine, izinli/yasak örnekleme oranlarının nasıl ortaya çıktığına, spektral ters çevrilme tuzağına ve modern ADC'lerin neden GHz mertebesinde analog bant genişliği ilan ettiğine inip somut bir Python örneğiyle her şeyi yerine oturtacağız. +
+ 70 MHz IF bandpass sinyali ve 31.25 MSPS örnekleme noktaları +
Şekil 1. 70 MHz IF sinyali (67.5 + 72.5 MHz iki ton, mavi) ve 31.25 MSPS örnekleme noktaları (kırmızı). Örnekler arasındaki boşluk T = 32 ns; sinyalin kendi periyodu ise yaklaşık 14 ns — klasik Nyquist açısından yetersiz ama bandpass sampling açısından mükemmel.
+
+ --- ## Nyquist'in Saklı Varsayımı @@ -84,6 +89,11 @@ Yasak bölgeler, kamalar arasındaki üçgen "boşluklar"dır ve geometrik olara Yine de wedge diyagramı sadece bir gözlem aracıdır. Saha tasarımının değişmez kuralı şudur: **bir kamanın iç noktasında dur, kenardan uzak kal.** Vaughan'ın 1991 makalesi bu hassasiyet analizini ayrı bir bölümle ele alır. +
+ 70 MHz IF için izinli ve yasak örnekleme hızları +
Şekil 2. 70 MHz IF (65–75 MHz bant) için izinli (mavi/mor) ve yasak (kırmızı) örnekleme hızları. Mavi bölgeler n tek → spektrum düz; mor bölgeler n çift → spektrum ters. Kırmızı aralar hiçbir n için çalışmaz. Dikey çizgiler: n = 5 için kullanılan 31.25 MSPS (lacivert) ve n = 3 için ideal orta nokta ~57.5 MSPS (teal). Teorik alt sınır 2B = 20 MSPS noktalı çizgiyle gösterilmiş.
+
+ --- ## Spectral Inversion: Çift n Hayatınızı Berbat Eder @@ -209,6 +219,11 @@ plt.grid(); plt.show() Çalıştırınca pozitif yarıda **5 MHz ve 10 MHz** civarında iki keskin tepe görmelisiniz. Hesap doğrudan modulodur: n = 5 için kayma miktarı `(n−1)/2 · f_s = 2 · 31.25 = 62.5 MHz`; alt ton 67.5 − 62.5 = 5 MHz'e, üst ton 72.5 − 62.5 = 10 MHz'e iner. n tek olduğu için spektrum upright kalır, yani alt-üst sıra korunur. +
+ Orijinal analog spektrum ve örneklenmiş alias spektrumu karşılaştırması +
Şekil 3. Sol: 70 MHz IF sinyalinin orijinal analog spektrumu — tonlar 67.5 MHz ve 72.5 MHz'de. Sağ: 31.25 MSPS örnekleme sonrası zone 1'deki alias spektrumu — aynı tonlar 5 MHz ve 10 MHz'e inmiş, spektrum düz (n = 5 tek). Bilgi kayıpsız: tonlar arasındaki frekans farkı (5 MHz) ve göreli konumları korunuyor.
+
+ Şimdi denemeye değer bir alıştırma: `step = 30` yapın — bu, f_s = 33.33 MSPS demektir ve n = 5 için izinli aralığın (32.5 MSPS) dışındadır. Sinyalin alt kenarı zone 4'e, üst kenarı zone 5'e düşer; baseband'e farklı parite ile aliase oldukları için zone 1'deki spektrum bozulur ve iki tonun konumu artık `f − shift` formülüyle doğru çıkmaz. Yasak bölgenin gözlemlenebilir kanıtı budur. --- diff --git a/img/posts/bandpass-sampling-fft.webp b/img/posts/bandpass-sampling-fft.webp new file mode 100644 index 0000000000000000000000000000000000000000..e95101c56e3326dbf6563efd6dc218f95290ca70 GIT binary patch literal 36180 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 K000000001A98%r@ literal 0 HcmV?d00001 From 060c351da8421f1ac16d5d18349a70fef46628e4 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 22 May 2026 14:03:07 +0000 Subject: [PATCH 3/3] =?UTF-8?q?#81:=20Etkile=C5=9Fimli=20bandpass=20sampli?= =?UTF-8?q?ng=20sim=C3=BClat=C3=B6r=C3=BC=20eklendi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Okuyucuların f_c, B ve f_s değerlerini slider ile değiştirip anlık görebileceği saf HTML+JS widget yazıya eklendi: - İzinli/yasak bölge tespiti (Vaughan formülü) - Zone numarası ve spektral inversiyon göstergesi - Alias bandı koordinatları - Canvas: sol panel analog spektrum, sağ panel zone-1 alias spektrumu - Yasak bölgede kırmızı uyarı Dış bağımlılık yok — Bootstrap/jQuery dışında ek kütüphane kullanılmadı. https://claude.ai/code/session_01GCFHC6eWhWPVWX9t3q7HQC --- _posts/2026-05-21-bandpass-sampling.md | 201 +++++++++++++++++++++++++ 1 file changed, 201 insertions(+) diff --git a/_posts/2026-05-21-bandpass-sampling.md b/_posts/2026-05-21-bandpass-sampling.md index 1429d5bc..2f518171 100644 --- a/_posts/2026-05-21-bandpass-sampling.md +++ b/_posts/2026-05-21-bandpass-sampling.md @@ -228,6 +228,207 @@ plt.grid(); plt.show() --- +## Etkileşimli Simülatör + +Aşağıdaki araçla fc, B ve fs değerlerini değiştirerek alias konumunu ve izinli/yasak bölge sınırlarını anlık görebilirsiniz. + +

+
Bandpass Sampling Simülatörü
+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+ +

Sol: analog spektrum. Sağ: örneklenmiş zone-1 alias'ı. Yasak bölgede iki farklı zone'dan alias çakışır.

+
+
+ + + +--- + ## Mühendislik Notları ve Pratik Tuzaklar Bandpass sampling'i sahaya çıkarmadan önce kontrol listesi: