Fast Frequency Estimation Algorithm by Least Squares Phase Unwrapping

I. 引言

單個含噪正弦信號的頻率估計是一個研究已久的問題,并有多種應用[1]。在高斯白噪聲假設下,最大似然(ML)頻率估計器是Rife和Boorstyn [2]中提出的周期圖估計器,其中傅里葉變換用于搜索周期圖的最大值。周期圖估計器被廣泛認為是單頻估計的最佳方法。在[2]中,粗略搜索基于快速傅里葉變換(FFT),而精細搜索則基于非線性優化。為了簡化非線性優化,[3]中研究了一種五峰值內插器,它可以找到峰值并產生接近ML估計器的估計。此外,信號子空間法(SA)也已用于估計單個含噪正弦信號的頻率[4],其中頻率估計在小誤差條件下近似無偏,其方差接近ML估計器的方差。

相位展開估計器是另一種單頻估計方法,最早在[5]中提出。該方法展開復正弦信號的相位,然后通過線性回歸(linear regression,LR)估計頻率。然而,傳統的相位展開算法在低信噪比(SNR)下會遇到模 2π2\pi2π 模糊問題,以至于相位展開估計器的閾值處于相對較高的SNR [6]。

為了解決模 2π2\pi2π 模糊問題,Clarkson將相位展開問題轉化為尋找格中的最近點,并利用格點理論解決了該問題[7]。仿真結果表明,其估計性能接近周期圖估計器,但作者沒有提供理論證明。最近,McKilliam在最小二乘意義上發展了基于格的方法[8],并證明了該估計器是強一致的,其估計方差在數值模擬中的高信噪比下接近克拉默-拉奧界(CRB) [2]。在[8]中,最小二乘相位展開估計器(LSPUE)顯示出與經典周期圖估計器相同的閾值。然而,基于格點理論的相位展開具有高達O(N3log?N)O(N^3\log N)O(N3logN)的計算復雜度,因此不能用于實際應用。最近,有人提出了一種基于相位濾波器的快速相位展開方法[9],但是在頻率估計問題中濾波器參數很難確定。

在這封信中,我們提出了一種快速頻率估計算法,它結合了LSPUE的準確性和濾波方法的快速操作。所提出的方法在最小二乘意義上執行相同的相位展開,因此它具有與[8]中方法相同的性能,但計算復雜度低至O(N2)O(N^2)O(N2)

II. PROBLEM DESCRIPTION

假設觀測到的包含 NNN 個樣本的序列具有以下形式:

rn=Aej2π(fn+θ)+wn,n=0,1,…,N?1(1) r_n = Ae^{j2\pi(fn+\theta)} + w_n, \quad n=0, 1, \dots, N-1 \quad \tag{1} rn?=Aej2π(fn+θ)+wn?,n=0,1,,N?1(1)

其中fff是頻率,θ\thetaθ是初始相位,AAA是信號幅度。噪聲樣本 wnw_nwn? 是獨立的、同分布的高斯復隨機變量,均值為0,方差為2σ22\sigma^22σ2。在這封信中,我們試圖估計頻率fff,并假設fff[?1/2,1/2)[-1/2, 1/2)[?1/2,1/2) 范圍內。rnr_nrn? 的相位由下式給出:

∠rn=2π(fn+θ+vn)(mod?2π)(2) \angle r_n = 2\pi(fn + \theta + v_n) \quad (\text{mod } 2\pi) \quad \tag{2} rn?=2π(fn+θ+vn?)(mod?2π)(2)

其中vnv_nvn?是在[?1/2,1/2)[-1/2, 1/2)[?1/2,1/2)范圍內定義的相位噪聲。噪聲項vnv_nvn?的分布如下[10]:

fv(x)=e?γ+2πγcos?2πxe?γsin?22πxQ(?2γcos?2πx)(3) f_v(x) = e^{-\gamma} + 2\sqrt{\pi\gamma}\cos{2\pi x}e^{-\gamma\sin^2{2\pi x}}Q(-\sqrt{2\gamma}\cos{2\pi x}) \quad \tag{3} fv?(x)=e?γ+2πγ?cos2πxe?γsin22πxQ(?2γ?cos2πx)(3)

其中γ=A22σ2\gamma = \frac{A^2}{2\sigma^2}γ=2σ2A2?是信噪比(SNR)。Q函數定義為:

Q(x)=∫x∞?(t)dt(4) Q(x) = \int_x^\infty \phi(t)dt \quad \tag{4} Q(x)=x??(t)dt(4)

其中

?(t)=12πe?t22(5) \phi(t) = \frac{1}{\sqrt{2\pi}}e^{-\frac{t^2}{2}} \quad \tag{5} ?(t)=2π?1?e?2t2?(5)

是標準正態分布。對于x>0x > 0x>0,我們有

Q(x)=∫x∞?(t)dt<∫x∞tx?(t)dt=?(x)x Q(x) = \int_x^\infty \phi(t)dt < \int_x^\infty \frac{t}{x}\phi(t)dt = \frac{\phi(x)}{x} Q(x)=x??(t)dt<x?xt??(t)dt=x?(x)?

∫x∞tx?(t)dt=1x∫x∞t??(t)dt=1x∫x∞t?12πe?t22dt=1x2π∫x∞te?t22dt=1x2π∫?x2/2?∞eu(?du)(令?u=?t2/2,?則?du=?t?dt)=1x2π∫?∞?x2/2eudu=1x2π[eu]?∞?x2/2=1x2π(e?x2/2?lim?a→?∞ea)=1x2π(e?x2/2?0)=1x(12πe?x2/2)=?(x)x\begin{align*} \int_x^\infty \frac{t}{x}\phi(t)dt &= \frac{1}{x} \int_x^\infty t \cdot \phi(t) dt \\ &= \frac{1}{x} \int_x^\infty t \cdot \frac{1}{\sqrt{2\pi}}e^{-\frac{t^2}{2}} dt \\ &= \frac{1}{x \sqrt{2\pi}} \int_x^\infty t e^{-\frac{t^2}{2}} dt \\ &= \frac{1}{x \sqrt{2\pi}} \int_{-x^2/2}^{-\infty} e^u (-du) \quad (\text{令 } u = -t^2/2, \text{ 則 } du = -t \cdot dt) \\ &= \frac{1}{x \sqrt{2\pi}} \int_{-\infty}^{-x^2/2} e^u du \\ &= \frac{1}{x \sqrt{2\pi}} \left[ e^u \right]_{-\infty}^{-x^2/2} \\ &= \frac{1}{x \sqrt{2\pi}} \left( e^{-x^2/2} - \lim_{a \to -\infty} e^a \right) \\ &= \frac{1}{x \sqrt{2\pi}} \left( e^{-x^2/2} - 0 \right) \\ &= \frac{1}{x} \left( \frac{1}{\sqrt{2\pi}} e^{-x^2/2} \right) \\ &= \frac{\phi(x)}{x} \end{align*}x?xt??(t)dt?=x1?x?t??(t)dt=x1?x?t?2π?1?e?2t2?dt=x2π?1?x?te?2t2?dt=x2π?1??x2/2??eu(?du)(?u=?t2/2,??du=?t?dt)=x2π?1???x2/2?eudu=x2π?1?[eu]??x2/2?=x2π?1?(e?x2/2?a?lim?ea)=x2π?1?(e?x2/2?0)=x1?(2π?1?e?x2/2)=x?(x)??

并且

(1+1x2)Q(x)>∫x∞(1+1t2)?(t)dt=?(x)x. \left(1+\frac{1}{x^2}\right)Q(x) > \int_x^\infty \left(1+\frac{1}{t^2}\right)\phi(t)dt = \frac{\phi(x)}{x}. (1+x21?)Q(x)>x?(1+t21?)?(t)dt=x?(x)?.

∫x∞(1+1t2)?(t)dt=∫x∞(?ddt(?(t)t))dt=?[?(t)t]x∞=?(lim?t→∞?(t)t??(x)x)=?(lim?t→∞e?t2/2t2π??(x)x)=?(0??(x)x)=?(x)x\begin{align*} \int_x^\infty \left(1+\frac{1}{t^2}\right) \phi(t) dt &= \int_x^\infty \left(-\frac{d}{dt}\left(\frac{\phi(t)}{t}\right)\right) dt \\ &= -\left[ \frac{\phi(t)}{t} \right]_x^\infty \\ &= -\left( \lim_{t\to\infty} \frac{\phi(t)}{t} - \frac{\phi(x)}{x} \right) \\ &= -\left( \lim_{t\to\infty} \frac{e^{-t^2/2}}{t\sqrt{2\pi}} - \frac{\phi(x)}{x} \right) \\ &= -\left( 0 - \frac{\phi(x)}{x} \right) \\ &= \frac{\phi(x)}{x} \end{align*}x?(1+t21?)?(t)dt?=x?(?dtd?(t?(t)?))dt=?[t?(t)?]x?=?(tlim?t?(t)??x?(x)?)=?(tlim?t2π?e?t2/2??x?(x)?)=?(0?x?(x)?)=x?(x)??

因此,

x1+x2?(x)<Q(x)<?(x)x,x>0.(6) \frac{x}{1+x^2}\phi(x) < Q(x) < \frac{\phi(x)}{x}, \quad x>0. \quad \tag{6} 1+x2x??(x)<Q(x)<x?(x)?,x>0.(6)

考慮到Q(x)=1?Q(?x)Q(x) = 1 - Q(-x)Q(x)=1?Q(?x),我們有

1+?(x)x<Q(x)<1+x1+x2?(x),x<0.(7) 1+\frac{\phi(x)}{x} < Q(x) < 1+\frac{x}{1+x^2}\phi(x), \quad x<0. \quad \tag{7} 1+x?(x)?<Q(x)<1+1+x2x??(x),x<0.(7)

將(6)和(7)代入(3),我們發現對于較大的 γ\gammaγfv(x)f_v(x)fv?(x) 的下界和上界近似相等。在這種情況下,

fv(x)={2πγcos?2πxe?γsin?22πx,∣x∣≤1/40,∣x∣>1/4.(8) f_v(x) = \begin{cases} 2\sqrt{\pi\gamma}\cos{2\pi x}e^{-\gamma\sin^2{2\pi x}}, & |x| \le 1/4 \\ 0, & |x| > 1/4. \end{cases} \quad \tag{8} fv?(x)={2πγ?cos2πxe?γsin22πx,0,?x1/4x>1/4.?(8)

xn=∠rn/(2π)x_n = \angle r_n / (2\pi)xn?=rn?/(2π),我們得到

xn=fn+θ+vn?un(9) x_n = fn + \theta + v_n - u_n \quad \tag{9} xn?=fn+θ+vn??un?(9)

其中 un=[fn+θ+vn]u_n = [fn + \theta + v_n]un?=[fn+θ+vn?][x][x][x] 表示與 xxx 最接近的整數。因此,我們有

vn=xn+un?fn?θ.(10) v_n = x_n + u_n - fn - \theta. \quad \tag{10} vn?=xn?+un??fn?θ.(10)

為了在最小二乘意義上使噪聲項 vnv_nvn? 最小,我們定義目標函數為

J(f,θ,un)=∑n=0N?1(xn+un?fn?θ)2(11) J(f, \theta, u_n) = \sum_{n=0}^{N-1}(x_n + u_n - fn - \theta)^2 \quad \tag{11} J(f,θ,un?)=n=0N?1?(xn?+un??fn?θ)2(11)

III. FAST LSPUE ALGORITHM

為了最小化 J(f,θ,un)J(f, \theta, u_n)J(f,θ,un?),困難在于 unu_nun? 是未知的。如果 unu_nun? 已知,我們可以很容易地用最小二乘法公式解決這個問題。在頻率估計問題中,我們發現 unu_nun?nnn 的單調函數。具體來說,當 f>0f>0f>0時,unu_nun? 是單調遞增函數,當 f<0f<0f<0 時,unu_nun? 是單調遞減函數。考慮到 f∈[?1/2,1/2)f \in [-1/2, 1/2)f[?1/2,1/2),我們有 ?N2≤f(N?1)+θ<N2-\frac{N}{2} \le f(N-1)+\theta < \frac{N}{2}?2N?f(N?1)+θ<2N?。因此,我們定義

unm=?mnN?,m=?N2,?(N2?1),…,N2?1.(17) u_n^m = \left\lceil m\frac{n}{N} \right\rceil, \quad m = -\frac{N}{2}, -\left(\frac{N}{2}-1\right), \dots, \frac{N}{2}-1. \quad \tag{17} unm?=?mNn??,m=?2N?,?(2N??1),,2N??1.(17)

對于給定的 mmmum=[u0m,u1m,…,uN?1m]T\boldsymbol u^m = [u_0^m, u_1^m, \dots, u_{N-1}^m]^Tum=[u0m?,u1m?,,uN?1m?]T是一個在整數空間 ZN\mathbb Z^NZN 中的向量。顯然,um\boldsymbol u^mum 對應于頻率為 mN\frac{m}{N}Nm? 的信號。我們定義 NNN 個向量,它們代表了 ZN\mathbb Z^NZN 中最有可能的 NNN 個解。我們首先檢查這 NNN 個解,然后在這些 NNN 個解附近尋找更好的解。整個過程類似于[2]中描述的粗略搜索和精細搜索,但我們是在展開的相位中搜索最佳的unu_nun?,而[2]中的算法是在頻域中搜索最大值。

現在,我們重新定義目標函數

Jm(f,θ)=∑n=0N?1(ynm?fn?θ)2(18) J^m(f, \theta) = \sum_{n=0}^{N-1}(y_n^m - fn - \theta)^2 \quad \tag{18} Jm(f,θ)=n=0N?1?(ynm??fn?θ)2(18)

其中

ynm=xn+unm(19) y_n^m = x_n + u_n^m \quad \tag{19} ynm?=xn?+unm?(19)

xnx_nxn?的展開相位。由于 unmu_n^munm? 是已知的,由[11]可得頻率和相位

f(m)=12∑n=0N?1(n?(N?1)/2)ynmN(N?1)(N+1)(20) f(m) = \frac{12 \sum_{n=0}^{N-1}(n - (N-1)/2)y_n^m}{N(N-1)(N+1)} \quad \tag{20} f(m)=N(N?1)(N+1)12n=0N?1?(n?(N?1)/2)ynm??(20)

θ(m)=2∑n=0N?1(2N?3n?1)ynmN(N+1). \theta(m) = \frac{2 \sum_{n=0}^{N-1}(2N-3n-1)y_n^m}{N(N+1)}. θ(m)=N(N+1)2n=0N?1?(2N?3n?1)ynm??.

殘差誤差表示為 Jm(f(m),θ(m))J^m(f(m), \theta(m))Jm(f(m),θ(m))。這是粗略搜索過程。顯然,f(m)f(m)f(m)θ(m)\theta(m)θ(m) 是給定 um\boldsymbol u^mum 的最佳解,但它們不是全局最優解。現在,我們嘗試在 um\boldsymbol u^mum 附近找到更好的解。這是精細搜索過程。首先,我們重構線性相位

pn=f(m)n+θ(m).(21) p_n = f(m)n + \theta(m). \quad \tag{21} pn?=f(m)n+θ(m).(21)

然后,我們圍繞線性相位pnp_npn?展開相位xnx_nxn?,如下所示

y^nm=pn+M[xn?pn](22) \hat{y}_n^m = p_n + M[x_n - p_n] \quad \tag{22} y^?nm?=pn?+M[xn??pn?](22)

其中

M[X]={M[X?1],X>1/2M[X+1],X<?1/2X,otherwise. M[X] = \begin{cases} M[X-1], & X > 1/2 \\ M[X+1], & X < -1/2 \\ X, & \text{otherwise}. \end{cases} M[X]=????M[X?1],M[X+1],X,?X>1/2X<?1/2otherwise.?

在[9]中研究了(22)中的相位展開操作。這樣,y^nm\hat{y}_n^my^?nm?xnx_nxn?滿足 y^nm=xn(mod1)\hat{y}_n^m = x_n \pmod 1y^?nm?=xn?(mod1)∣y^nm?pn∣<1/2|\hat{y}_n^m - p_n| < 1/2y^?nm??pn?<1/2,這意味著 y^nm\hat{y}_n^my^?nm?xnx_nxn? 圍繞 pnp_npn? 的相位展開。現在,我們重新定義目標函數

J^m(f,θ)=∑n=0N?1(y^nm?fn?θ)2.(23) \hat{J}^m(f, \theta) = \sum_{n=0}^{N-1}(\hat{y}_n^m - fn - \theta)^2. \quad \tag{23} J^m(f,θ)=n=0N?1?(y^?nm??fn?θ)2.(23)

同樣,我們通過最小二乘法公式求解頻率和相位

f^(m)=12∑n=0N?1(n?(N?1)/2)y^nmN(N?1)(N+1)(24) \hat{f}(m) = \frac{12 \sum_{n=0}^{N-1}(n - (N-1)/2)\hat{y}_n^m}{N(N-1)(N+1)} \quad \tag{24} f^?(m)=N(N?1)(N+1)12n=0N?1?(n?(N?1)/2)y^?nm??(24)

θ^(m)=2∑n=0N?1(2N?3n?1)y^nmN(N+1). \hat{\theta}(m) = \frac{2 \sum_{n=0}^{N-1}(2N-3n-1)\hat{y}_n^m}{N(N+1)}. θ^(m)=N(N+1)2n=0N?1?(2N?3n?1)y^?nm??.

殘差誤差表示為 J^m(f^(m),θ^(m))\hat{J}^m(\hat{f}(m), \hat{\theta}(m))J^m(f^?(m),θ^(m))。現在,我們比較殘差誤差 Jm(f(m),θ(m))J^m(f(m), \theta(m))Jm(f(m),θ(m))J^m(f^(m),θ^(m))\hat{J}^m(\hat{f}(m), \hat{\theta}(m))J^m(f^?(m),θ^(m))。如果

Jm(f(m),θ(m))≤J^m(f^(m),θ^(m)) J^m(f(m), \theta(m)) \le \hat{J}^m(\hat{f}(m), \hat{\theta}(m)) Jm(f(m),θ(m))J^m(f^?(m),θ^(m))

Jm(f(m),θ(m))J^m(f(m), \theta(m))Jm(f(m),θ(m))是給定 mmm 的局部最優解,精細搜索結束。如果

Jm(f(m),θ(m))>J^m(f^(m),θ^(m)) J^m(f(m), \theta(m)) > \hat{J}^m(\hat{f}(m), \hat{\theta}(m)) Jm(f(m),θ(m))>J^m(f^?(m),θ^(m))

我們按如下方式更新參數:

f(m)=f^(m)θ(m)=θ^(m)Jm(f(m),θ(m))=J^m(f^(m),θ^(m)) \begin{aligned} f(m) &= \hat{f}(m) \\ \theta(m) &= \hat{\theta}(m) \\ J^m(f(m), \theta(m)) &= \hat{J}^m(\hat{f}(m), \hat{\theta}(m)) \end{aligned} f(m)θ(m)Jm(f(m),θ(m))?=f^?(m)=θ^(m)=J^m(f^?(m),θ^(m))?

然后重復從(21)到(24)的步驟。

同樣地,我們計算所有mmm的殘差誤差Jm(f(m),θ(m))J^m(f(m), \theta(m))Jm(f(m),θ(m)),并按如下方式找到最優的mmm

m?=arg?min?Jm(f(m),θ(m)).(25) m^* = \arg \min J^m(f(m), \theta(m)). \quad \tag{25} m?=argminJm(f(m),θ(m)).(25)

圖1顯示了整個算法的示意圖。圖1(a)顯示了粗略搜索的流程,圖1(b)顯示了精細搜索的流程。顯然,粗略搜索中有 NNN 個循環,每個循環都包含一次用于尋找局部最優解的精細搜索。根據我們的數值模擬結果,每次精細搜索包含的迭代過程通常在五到八輪后收斂。在每次迭代中,相位展開和最小二乘計算需要O(N)O(N)O(N)次算術運算。因此,整個FLSPUE算法的計算復雜度為O(N2)O(N^2)O(N2)

IV. SIMULATION RESULTS

在本節中,我們檢驗在第三節中開發的FLSPUE算法的性能。由于所提出的FLSPUE算法是LSPUE方案的一種快速實現,其性能應與[8]中的LSPUE相同。因此,我們僅比較了五種估計器的性能:ML估計器[2]、快速近似ML估計器(fast ML)[3]、SA[4]、LR[5]以及所提出的FLSPUE算法。理想的ML估計器是搜索周期圖的最大值,但[2]中的非線性優化很復雜。在本信中,我們通過chirp z變換(CZT)算法[12]執行精細搜索,該算法計算由粗略搜索找到的峰值附近的離散傅里葉變換。然后,我們可以從CZT算法的計算結果中搜索最大值。CZT算法是基于FFT實現的,因此基于CZT的ML估計器的計算復雜度仍然是Nlog?NN \log NNlogN

在這里插入圖片描述

在我們的仿真中,單正弦信號的參數為f=0.1f=0.1f=0.1θ=0\theta=0θ=0。當N=64N=64N=64N=256N=256N=256時的仿真結果顯示在圖2和圖3中,每次仿真的信噪比(SNR)在–20和20 dB之間變化,每個SNR值都運行了10 000次試驗。在圖2和圖3中,基于CZT的ML估計器被稱為CZT ML。在SA算法中,觀測信號表示為一個m×nm \times nm×n的數據矩陣,且SA算法在不同矩陣維度下的性能是不同的。在這封信中,我們為N=64N=64N=64選擇8×88 \times 88×8的矩陣,為N=256N=256N=256選擇16×1616 \times 1616×16的矩陣,因為使用這些參數可以獲得最佳的閾值性能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/90170.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/90170.shtml
英文地址,請注明出處:http://en.pswp.cn/web/90170.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言常見的預定符號常量

C語言常見的預定符號常量C 語言提供了豐富的預定義符號常量&#xff0c;分布在不同頭文件中&#xff0c;用于獲取編譯信息、數值范圍、浮點特性等關鍵信息。以下是常見預定義符號常量的分類總結&#xff1a;一、預定義宏&#xff08;編譯時信息&#xff09;由編譯器自動定義&am…

【2025】使用vue構建一個漂亮的天氣卡片

1. 核心框架&#xff1a;Vue Vue 以其輕量、易用、響應式數據綁定的特點&#xff0c;非常適合快速構建這類小型界面組件。即使是直接通過 CDN 引入&#xff0c;也能高效開發&#xff0c;降低項目復雜度&#xff0c;無需搭建完整工程化環境 。 2. 網絡請求&#xff1a;Axios 用于…

Ruby 命令行選項詳解

Ruby 命令行選項詳解 引言 Ruby 是一種廣泛使用的編程語言,它以其簡潔、優雅和強大的功能而聞名。在 Ruby 的使用過程中,命令行界面(CLI)提供了豐富的選項,可以幫助開發者更高效地與 Ruby 環境交互。本文將詳細解析 Ruby 命令行選項,旨在幫助開發者更好地利用這些工具。…

NLP復習

1.文本預處理 分詞,詞性標注,命名實體識別 1.1分詞:jieba jieba.lcut(content,cut_alltrue) 全模式 jieba.lcut(content,cut_allfalse) 精確模式 jieba.lcut_for_search(content) 搜索引擎模式 lcut和cut的區別:cut返回的是一個生成器Generator,lcut返回的是列表 生成器調…

WEB :實戰演練——從零實現一個交互輪播圖(附源碼)

文章目錄 一、輪播圖整體功能規劃二、HTML結構深度解析三、CSS樣式實現細節1. 定位系統詳解2. 顯示/隱藏機制3. 按鈕交互效果實現4. 純CSS箭頭實現5. 指示器&#xff1a;當前位置可視化 四、JavaScript邏輯深入解析1. 核心變量與DOM獲取2. 圖片切換函數&#xff08;核心邏輯&am…

MCP 協議詳細分析一 initialize ping tools/list tools/call

MCP 協議詳細分析一 &#xff08;initialize ping tools/list tools/call) 本節基于 實現一個 java 的mcp client 調用的 一個python 的mcp server 的日志&#xff0c;完整展示一次典型的 MCP Java SDK 通信流程、工具調用、通知機制與日志記錄&#xff0c;僅包含 echo-simple…

SLAM學習資料記錄

ORB_SLAM2 創建自己的數據集&#xff08;還未使用&#xff09; 【SLAM實戰篇】Ubuntu 20.04版本&#xff08;OpenCV版本4.5.3&#xff09;對于ORB-SLAM2安裝運行&#xff0c;代碼編譯&#xff0c;自己的數據集構造_ubuntu20.04 安裝運行orb_slam2算法-CSDN博客 卡爾曼濾波數據…

用Phi-3 Mini微調實現英文到尤達語翻譯

用Phi-3 Mini微調實現英文到尤達語翻譯 引言 本文將帶你快速上手大模型微調實踐——以微軟的Phi-3 Mini 4K Instruct模型為例&#xff0c;教你如何將其微調為一個能把英文翻譯成"尤達語"&#xff08;《星球大戰》中尤達大師的獨特說話風格&#xff09;的模型。這是一…

AI助力,輕松實現人聲分離伴奏提取

親愛的小伙伴們&#xff01;前段時間&#xff0c;有一位同事家的可愛小孩參加了一場英語演講比賽。同事找到我&#xff0c;希望我能幫個忙&#xff0c;把講視頻中的人聲去掉&#xff0c;只提取出其中相應的伴奏。今天&#xff0c;我就來和大家分享一下究竟如何實現從 MP4 視頻中…

第1章第2章筆記

OSI參考模型---開放式系統互聯模型---OSI/RM ISO--->國際標準化組織&#xff1b;特點&#xff1a;先有模型&#xff0c;在又協議。 OSI七層參考模型&#xff1a;應用層 --- 提供網絡服務&#xff1b;自然語言-->編碼表示層 --- 對數據的處理&#xff1b;格式化&#xff0…

圖的BFS和DFS

一&#xff0c;圖的遍歷邏輯1.之前我們學了圖的存儲&#xff0c;可以鄰接表存和鄰接矩陣存。現在我們要學習圖的遍歷操作和樹類似可以分為深度遍歷和廣度遍歷&#xff0c;而深度遍歷也是用遞歸實現&#xff0c;廣度遍歷是用隊列實現2.深度遍歷(DFS)a.確定起點b.找到一條邊按順時…

WWDC 25 給自定義 SwiftUI 視圖穿上“玻璃外衣”:最新 Liquid Glass 皮膚詳解

引子 各位 iOS 足球體育健兒們&#xff0c;且聽我一言&#xff01;想當年在《少林足球》里&#xff0c;阿星一句“做人如果沒夢想&#xff0c;那跟咸魚有什么分別啊&#xff1f;”點燃了多少人的江湖夢。 如今在 SwiftUI 江湖里&#xff0c;Apple 于 WWDC 25 推出的 Liquid Gl…

Day01_C++

01.思維導圖02.方法一&#xff1a;#include <iostream> #include <cstring> #include <iostream> using namespace std; class mystring { private:char* buf;int len;public:mystring(const char* str);void copy(const char* ptr);void copy(mystring ptr)…

C語言學習(days09)

二維數組的定義與特性二維數組的聲明格式為&#xff1a;類型說明符 數組名[表達式1][表達式2];[下標1]表示行索引&#xff0c;[下標2]表示列索引。二維數組可視為由多個一維數組組成&#xff0c;a[0]表示第0行的首地址&#xff08;即一維數組地址&#xff09;a[0][0]表示第0的第…

WIFI路由器長期不重啟,手機連接時提示無IP分配

今天在公司&#xff0c;突然發現手機連不上公司WIFI。每次鏈接&#xff0c;提示無IP分析。我以為是我手機出問題了&#xff0c;想復位一下。后來一想萬一復位還是不靈&#xff0c;怎么辦&#xff1f;同事認為是路由器沒有重啟的原因。于是找到路由器&#xff0c;重啟&#xff0…

【前沿技術動態】【AI總結】RustFS:從 0 到 1 打造下一代分布式對象存儲

目錄1 引言&#xff1a;為什么我們又需要一個新的對象存儲2 RustFS 全景速覽3 技術架構深度拆解3.1 整體拓撲3.2 關鍵數據結構&#xff08;rust 偽代碼&#xff09;3.3 讀寫路徑&#xff08;寫放大 < 1.1&#xff09;4 核心源碼導讀4.1 關鍵函數跟蹤4.2 一段最小可復現示例5…

ImageNet1K數據集的下載解壓與處理

前言 博主因為這個數據集踩了好多坑&#xff0c;浪費了好幾天時間&#xff0c;最近終于找到了高效的辦法&#xff0c;寫此篇文章來記錄具體操作方法&#xff0c;也希望可以幫助到有需要的人。&#xff08;主要是在云服務器是使用&#xff09; 下載數據集 一共下載三個文件&…

OkHttp 與 Room 結合使用:構建高效的 Android 本地緩存策略

前言在現代 Android 應用開發中&#xff0c;網絡請求與本地數據持久化是兩大核心功能。OkHttp 作為強大的網絡請求庫&#xff0c;與 Jetpack Room 持久化庫的結合使用&#xff0c;可以創建高效的數據緩存策略&#xff0c;提升應用性能和用戶體驗。本文將詳細介紹如何將這兩者完…

Nacos中feign.FeignException$BadGateway: [502 Bad Gateway]

Nacos中feign.FeignException$BadGateway: [502 Bad Gateway] 文章目錄Nacos中feign.FeignException$BadGateway: [502 Bad Gateway]背景原因背景 Mac本地運行Nacos微服務項目&#xff0c;調用服務失敗 原因 關閉本地代理clash或者其他&#xff0c;windows沒發現問題&#x…

基于deepseek的LORA微調

LORA微調&#xff1a; 核心是&#xff1a;低秩轉換&#xff0c;減少參數。凍結大部分&#xff0c;調節部分模塊(注意力模塊的Wq&#xff0c;Wk&#xff0c;Wv)。 調整過后得到一個lora.safetensors, 內部記錄了(detail W: 即部分修改的W)。推理使用原權重和lora權重。 具體操…