1.一種信號(hào)稀疏表示方法,其特征在于,包括:
步驟S101:對(duì)預(yù)設(shè)字典進(jìn)行初始化,獲得初始字典,并將待處理信號(hào)初始化為與所述初始字典相對(duì)應(yīng)的信號(hào)矩陣,所述信號(hào)矩陣中的每個(gè)元素為所述初始字典中多種原子的線性組合中的一種;
步驟S102:利用稀疏分解算法獲取與所述信號(hào)矩陣相對(duì)應(yīng)的稀疏系數(shù)矩陣;
步驟S103:統(tǒng)計(jì)當(dāng)前執(zhí)行步驟S102的次數(shù);
步驟S104:對(duì)所述初始字典與所述稀疏系數(shù)矩陣執(zhí)行更新操作,并統(tǒng)計(jì)當(dāng)前執(zhí)行所述更新操作的次數(shù);所述更新操作具體為:對(duì)所述初始字典中的原子執(zhí)行第一更新操作,得到第一字典;依次對(duì)所述第一字典中的每列原子執(zhí)行第二更新操作,同時(shí)對(duì)在所述稀疏系數(shù)矩陣中,與執(zhí)行第二更新操作的列相對(duì)應(yīng)行的稀疏系數(shù)非零項(xiàng)執(zhí)行第三更新操作,直到所述第一字典中的列全部被更新,得到第二字典與更新后的稀疏系數(shù)矩陣;
步驟S105:判斷當(dāng)前執(zhí)行所述更新操作的次數(shù)是否小于第一預(yù)設(shè)次數(shù),若是,將第二字典作為新的初始字典,將更新后的稀疏系數(shù)矩陣作為新的稀疏系數(shù)矩陣,并返回步驟S104;若否,利用所述第二字典與所述更新后的稀疏系數(shù)矩陣重構(gòu)出信號(hào)矩陣,并執(zhí)行步驟S106;
步驟S106:判斷當(dāng)前執(zhí)行步驟S102的次數(shù)是否小于第二預(yù)設(shè)次數(shù);如果是,將所述第二字典作為新的初始字典,將所述重構(gòu)出的信號(hào)矩陣作為新的信號(hào)矩陣,并返回步驟S102;如果否,輸出所述重構(gòu)出的信號(hào)矩陣。
2.根據(jù)權(quán)利要求1所述的算法,其特征在于,所述對(duì)所述初始字典中的原子執(zhí)行第一更新操作,得到第一字典,包括:
獲取所述信號(hào)矩陣的重構(gòu)均方誤差其中,Y為所述信號(hào)矩陣,D為所述初始字典,Γ為所述稀疏系數(shù)矩陣;
對(duì)所述信號(hào)矩陣的重構(gòu)均方誤差進(jìn)行關(guān)于所述初始字典的求導(dǎo),得到第一字典D=Y(jié)ΓT(ΓΓT)-1,減小所述信號(hào)矩陣的重構(gòu)均方誤差。
3.根據(jù)權(quán)利要求1所述的算法,其特征在于,所述依次對(duì)所述第一字典中的每列原子執(zhí)行第二更新操作,同時(shí)對(duì)在所述稀疏系數(shù)矩陣中,與執(zhí)行第二更新操作的列相對(duì)應(yīng)行的稀疏系數(shù)非零項(xiàng)執(zhí)行第三更新操作,直到所述第一字典中的列全部被更新,得到第二字典與更新后的稀疏系數(shù)矩陣,包括:
獲取所述信號(hào)矩陣的重構(gòu)均方誤差其中,Ek為誤差矩陣,dk為所述初始字典D中第k列原子,為所述稀疏系數(shù)矩陣Γ中與dk對(duì)應(yīng)的第k行稀疏系數(shù);
去掉中的所有零值,并定義中非零項(xiàng)索引
根據(jù)所述中非零項(xiàng)索引,將所述信號(hào)矩陣的重構(gòu)均方誤差轉(zhuǎn)換為
采用交替最小化算法更新dk與直到所述第一字典中的原子全部被更新,得到第二字典與更新后的稀疏系數(shù)矩陣,使所述信號(hào)矩陣的重構(gòu)均方誤差最小化。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述采用交替最小化算法更新dk與包括:
利用所述誤差矩陣Ek、以及中非零項(xiàng)索引ωk更新所述初始字典中第k列原子dk;
利用更新后的dk、所述誤差矩陣Ek,以及中非零項(xiàng)索引ωk更新稀疏系數(shù)矩陣中與dk對(duì)應(yīng)的第k行稀疏系數(shù)的非零項(xiàng)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一預(yù)設(shè)次數(shù)為3,所述第二預(yù)設(shè)次數(shù)為80。
6.一種信號(hào)稀疏表示裝置,其特征在于,包括:
初始化模塊,用于對(duì)預(yù)設(shè)字典進(jìn)行初始化,獲得初始字典,并將待處理信號(hào)初始化為與所述初始字典相對(duì)應(yīng)的信號(hào)矩陣,所述信號(hào)矩陣中的每個(gè)元素為所述初始字典中多種原子的線性組合中的一種;
獲取模塊,用于利用稀疏分解算法獲取與所述信號(hào)矩陣相對(duì)應(yīng)的稀疏系數(shù)矩陣;
統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)當(dāng)前所述獲取模塊的執(zhí)行次數(shù);
更新模塊,用于對(duì)所述初始字典與所述稀疏系數(shù)矩陣執(zhí)行更新操作,并統(tǒng)計(jì)當(dāng)前執(zhí)行所述更新操作的次數(shù);所述更新操作具體為:對(duì)所述初始字典中的原子執(zhí)行第一更新操作,得到第一字典;依次對(duì)所述第一字典中的每列原子執(zhí)行第二更新操作,同時(shí)對(duì)在所述稀疏系數(shù)矩陣中,與執(zhí)行第二更新操作的列相對(duì)應(yīng)行的稀疏系數(shù)非零項(xiàng)執(zhí)行第三更新操作,直到所述第一字典中的列全部被更新,得到第二字典與更新后的稀疏系數(shù)矩陣;
第一判斷模塊,用于判斷當(dāng)前執(zhí)行所述更新操作的次數(shù)是否小于第一預(yù)設(shè)次數(shù),若是,將第二字典作為新的初始字典,將更新后的稀疏系數(shù)矩陣作為新的稀疏系數(shù)矩陣,并返回所述更新模塊的相關(guān)操作;若否,利用所述第二字典與所述更新后的稀疏系數(shù)矩陣重構(gòu)出信號(hào)矩陣,并觸發(fā)第二判斷模塊;
第二判斷模塊,用于判斷當(dāng)前所述獲取模塊的執(zhí)行次數(shù)是否小于第二預(yù)設(shè)次數(shù);如果是,將所述第二字典作為新的初始字典,將所述重構(gòu)出的信號(hào)矩陣作為新的信號(hào)矩陣,并返回所述獲取模塊的相關(guān)操作;如果否,輸出所述重構(gòu)出的信號(hào)矩陣。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述更新模塊包括:
第一獲取子模塊,用于獲取所述信號(hào)矩陣的重構(gòu)均方誤差其中,Y為所述信號(hào)矩陣,D為所述初始字典,Γ為所述稀疏系數(shù)矩陣;
求導(dǎo)子模塊,用于對(duì)所述信號(hào)矩陣的重構(gòu)均方誤差進(jìn)行關(guān)于所述初始字典的求導(dǎo)得到第一字典D=Y(jié)ΓT(ΓΓT)-1,減小所述信號(hào)矩陣的重構(gòu)均方誤差;
第二獲取子模塊,用于獲取所述信號(hào)矩陣的重構(gòu)均方誤差其中,Ek為誤差矩陣,dk為所述初始字典D中第k列原子,為所述稀疏系數(shù)矩陣Γ中與dk對(duì)應(yīng)的第k行稀疏系數(shù);
定義子模塊,用于去掉中的所有零值,并定義中非零項(xiàng)索引
轉(zhuǎn)換子模塊,用于根據(jù)所述中非零項(xiàng)索引,將所述信號(hào)矩陣的重構(gòu)均方誤差轉(zhuǎn)換為
更新子模塊,用于采用交替最小化算法更新dk與直到所述第一字典中的原子全部被更新,得到第二字典與更新后的稀疏系數(shù)矩陣,使所述信號(hào)矩陣的重構(gòu)均方誤差最小化。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述更新子模塊還包括:
第一更新子單元,用于利用所述誤差矩陣Ek、以及中非零項(xiàng)索引ωk更新所述初始字典中第k列原子dk;
第二更新子單元,用于利用更新后的dk、所述誤差矩陣Ek,以及中非零項(xiàng)索引ωk更新稀疏系數(shù)矩陣中與dk對(duì)應(yīng)的第k行稀疏系數(shù)的非零項(xiàng)。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第一預(yù)設(shè)次數(shù)為3,所述第二預(yù)設(shè)次數(shù)為80。