I tata nei, ka timata nga hoa mahi o te "toa" ki te patai mai ki a au ki a raatau ano: me pehea te tango i nga waahana Bluetooth katoa i te wa kotahi mai i tetahi kaiwhiwhi SDR? Ka whakaaetia e te bandwidth, kei reira nga SDR me te bandwidth whakaputa o 80 MHz neke atu ranei. Ka taea e koe te mahi i tenei i runga i te FPGA, engari ka roa te waa whanaketanga. Kua roa ahau e mohio ana ko te mahi i tenei ki runga i te GPU he tino ngawari, engari ki te mahi penei!
Ko te paerewa Nihokikorangi e whakaatu ana i tetahi paparanga tinana i roto i nga putanga e rua: Tauhira me te Pungao Iti. Kei te waatea te korero . He tino nui te tuhinga, he kino mo te roro te panui i te katoa. Waimarie, kei nga kamupene hangarau ine nui te huarahi ki te hanga tuhinga tirohanga mo tetahi kaupapa. и , Hei tauira. Kare rawa au e whai waahi ki te whakataetae ki a raatau mo te kounga o te whakaaturanga o nga rauemi. Mena kei te pirangi koe, me whai i nga hononga.
Ko nga mea katoa e hiahia ana ahau ki te mohio mo te paparanga tinana ki te hanga i te tātari hongere-maha ko te mokowā matiti auau me te reeti whakarereke. Kua tabulahia ki tetahi o nga tuhinga e whai ake nei:

No reira, me tapahi tatou i te roopu 80 MHz ki nga whiriwhiringa 79 me te hikoinga o te 1 MHz, a, i te wa ano, ki te 40 nga whiriwhiringa me te taahiraa o te 2 MHz. Me 1 MHz me 2 MHz nga iarere whakatauira mai i nga putanga tātari.
No reira, me rua nga peeke tātari.
Tuatahi, me kowhiria nga tawhā o enei whiriwhiringa i runga i nga roopu tohu Bluetooth Classic me te Bluetooth Low Energy. Kei te hiahia maatau ki a raatau whakautu hihiko ki te tatau i te uta ki runga i te taputapu rorohiko o te tātari. I konei he mea tika ki te whakahua i tenei wa i whiriwhiria e matou te roa o te whakautu urupare i runga i nga whakaritenga o te "tere" tātari algorithm. Ko te ngako e kore e rereke mai i tenei. A kia kaua e nui rawa te maha o nga whakarea whakautu urupare mo te tātari ki runga i nga taputapu rorohiko mohio.
Mo nga whiriwhiringa me te hikoi o te 1 MHz, ka tohua e matou he bandwidth tātari iti-paahi (te haurua o te bandwidth o te tātari band-pass) o te 500 kHz, ka whakatikahia te roa o te whakautu urupare ki te 480 tap. Mo nga whiriwhiringa me te taahiraa o te 2 MHz, ka tohua e matou enei tawhā hei 1 MHz me te 240 tap, ia. Ka tohua e matou te momo matapihi Kaiser. Me tatau tatou i nga urupare hihiko i roto i te tātariDesigner ka tuku ake ki te whakatakotoranga C-pane:
Whakaahuatanga mai i te tātariDesigner




Ka taea e koe te whakaoti rapanga ma te kaha kaha: hanga he huinga DDC kia rite ki te maha o nga whiriwhiringa (). He pai tenei huarahi mo nga FPGA, ka taea te penapena ma te whakaiti i te kaha moka o nga rorohiko tuatahi. Ano, ko te FPGA te tikanga whakatinana tino kaha-kaha. Engari ko nga utu mo nga mahi me tenei tikanga ko te mea teitei rawa atu.
I te wa e whakahaere ana i te peeke tātari i runga i nga GPU rongonui o enei ra, ka taea ki te whakatinana i tetahi algorithm maamaa ake: he peeke tātari polyphase i runga i te FFT, kei te CUDA kei te waatea mai i te whare pukapuka. I roto i nga tuhinga ke, ka kiia te algorithm ko te Polyphase, ko WOLA ranei (Taumaha, Inaki me te taapiri) FFT Filterbank. Ko te mangere ki te tuhi kaore e whai waahi ahau ki te whakaoti i tetahi whakamarama ataata i ahau ake. He maha nga korero mo te kaupapa i runga i te Ipurangi, he tino kauwhata marama kei te wharangi 11 (ka nui te mihi ki nga kaituhi rongonui), koinei:

Ka ngana ahau ki te whakamarama i te kaupapa tukatuka i aku kupu ake. Tena koa kaua e panui mo te hunga ngakau ngoikore.
Ka ngana ahau ki te whakamarama i te kaupapa tukatuka i roto i aku kupu ake i roto i te anga o oku kaha tikanga. Ko te FFT te whakakorikoritanga o te tohu whakaurunga me te whanuitanga katoa o nga orite orthogonal matatini e uru ana ki roto i te waahi whakautu urupare. Ko te urupare whakapouri o te tātari, e whakanuia ai te tohu i mua i te whakaurunga o te FFT, ka whakahurihia e tenei hiringa pai. I etahi atu kupu, ko te kopaki urupare whakapouri o nga whiriwhiringa heru ka puta he mea whakamau. I tua atu, ka angiangi te tuāwhiorangi haurongo i etahi wa, na te roha o te bandwidth tātari e pa ana ki te tātari i te matapihi tapawhā. I te pikitia ka kite tatou i te kikokore ma te wha. I etahi atu kupu, i muri i te whakawhänui i te roopu me te matapihi Kaiser (me te whakanui i te wa kotahi i roto i te whakaheke i roto i te aukati), kaore e hiahiatia nga whiriwhiringa katoa, engari ko te hauwha anake. Ko te toenga he koretake, inaki ana nga ahuatanga auau. O nga tohu FFT e wha i te rarangi, ka tohua e matou ko te kore kotahi, ko te tatauranga ko te whakarapopototanga o te wha.
nga tohu whakauru i tangohia i muri i te wa e rite ana ki te hauwha o te roanga o te FFT taketake.
Ka whiriwhiri tatou i te rino kei te ringa. Koinei te papa whakauru mai i nga Pūnaha Taputapu FMC126P. Kua tuhia e au mo taua mea i tetahi o mua . Ko tetahi waahanga iti mai i te kamupene kotahi me te transceiver AD9371 me te roopu 100 MHz ka whakauruhia ki te hononga FMC o te poari. Ko te awa katoa mai i te transceiver ka taea te tuku tonu ki te rorohiko mo te tukatuka.
Me whiriwhiri he kaata ataata me te GPU GTX 1050. (I teka ahau, nana i whiriwhiri i a maatau: ko nga mea katoa i te ringaringa, ka haea mai i te rorohiko ki te tatau i nga antennas, engari he tino miharo te kite. he heru mahi). Me neke atu ki te waahanga rorohiko.
Kia aroha mai, na nga raihana, kaore e taea e matou te whakaputa i te katoa o te waehere. Ka taea e matou te whakaatu i nga waahanga GPU anake. Engari, ko te toenga o te waehere kaore i te tino pai.
Anei te pata e whakarea ana i te tohu-matapihi me te taapiri, me te takai hei karanga:
__global__ void cuComplexMultiplyWindowKernel(const cuComplex *data, const float *window, size_t windowSize, cuComplex *result) {
__shared__ cuComplex multiplicationResult[480];
multiplicationResult[threadIdx.x] = cuComplexMultiplyFloat(data[threadIdx.x + windowSize / 4 * blockIdx.x], window[threadIdx.x]);
__syncthreads();
cuComplex sum;
sum.x = sum.y = 0;
if (threadIdx.x < windowSize / 4) {
for(int i = 0; i < 4; i++) {
sum = cuComplexAdd(sum, multiplicationResult[threadIdx.x + i * windowSize / 4]);
}
result[threadIdx.x + windowSize / 4 * blockIdx.x] = sum;
}
}
cudaError_t cuComplexMultiplyWindow(const cuComplex *data, const float *window, size_t windowSize, cuComplex *result, size_t dataSize, cudaStream_t stream) {
size_t windowStep = windowSize / 4;
cuComplexMultiplyWindowKernel<<<dataSize / windowStep - 3, windowSize, 1024, stream>>>(data, window, windowSize, result);
return cudaGetLastError();
}
Ko te tohu tukatuka tohu e kii ana i tenei pata ka whakahoki ano i te hoahoa algorithm e whakaatuhia ana i te ahua i runga ake nei, no reira kare au e kite he take hei whakaatu i konei.
I whakamatauria nga heru i runga i te awheawhe whakaputa o nga hongere i te waa tuturu. Ko te tohu whakaputa tohu o te 9371 MHz i tukuna ki te whakaurunga o te AD2450; ko te whiriwhiringa o nga whiriwhiringa e rite ana ki te mea tatau.

Kei roto i nga mahere: te urutau i te rorohiko ki te papa XRTX me te whakatinana i te rapunga kete, mena ka hiahia tetahi, he wa waatea ranei.
Kua oti nga mahi rorohiko katoa , korōria ki a ia!
Source: will.com
