目录 第一篇常用数字信号的产生 第一章数字信号的产生…………………………………………1 §1.1均匀分布的随机数 §1.2正态分布的随机数………………………………… §1.3指数分布的随机数 §1.4拉普拉斯( Laplace)分布的随机数…… 7 §1.5瑞利( Rayleigh)分布的随机数………… §1.6对数正态分布的随机数 §1.7柯西( Cauchy)分布的随机数 §1.8韦伯( Weibull)分布的随机数… s1.9爱尔朗( Erlang)分布的随机数 §1.10贝努里( bernoulli)分布的随机数 §1.11贝努里高斯分布的随机数 §1.12二项式分布的随机数………………… §1.13泊松( Poisson)分布的随机数…… §1.l4ARMA(p,q)模型数据的产生· §1.15含有高斯白噪声的正弦组合信号的产生 §1.16解析信号的产生…………………… 第二篇数字信号处理 第一章快速傅立叶变换…… 1·1离散傅立叶变换… §1.2快速傅立叶变换 1.3基4快速傅立叶变换… §1·4分裂基快速傅立叶变换…………………………………57 §1·5实序列快速傅立叶变换(一)………………… §1.6实序列快速傅立叶变换(二)…
§1.7用一个N点复序列的FFT同时计算 两个N点实序列离散傅立叶变换…… §1.8共轭对称序列的快速傅立叶反变换 §1.9素因子快速傅立叶变换 …80 §1.10 Chirp-变换算法……… 第二章快速离散正交变换………… 102 §21快速哈特莱( Hartley)变换……………………… 102 §2…2基4快速哈特莱( Hartley)变换…… §2.3分裂基快速哈特莱(Hart!ey)变换………………………… §2.4快速离散余弦变换………………………… ······ §2.5快速离散余弦反变换 §26N-8点快速离散余弦变换 §2.7N=8点快速离散余弦反变换 §28快速离散正弦变换……… §2.9快速沃尔什(wash)变换… §210快速希尔伯特变换 乘中,, "…137 §2.11快速希尔伯特变换(二) 141 第三章快速卷积与相关 144 §3.1快速卷积…… 144 §3.2长序列的快速卷积……………… 3特别长序列的快速卷积………… §34快速相关 第四章数字滤波器的时域和频域响应……………………………163 §4.i数字滤波器的频率响应……………… §42级联型数字滤波器的频率响应…………………………………16 §43数字滤波器的时域响应……… , §4,4直接型IR数字滤波(一)…… §4.5直接型IR数字滤波(二)………………………… 177 §4.6级联型IR数字滤波…… .181 §4.7并联型IR数字滤波……… 185 第五章IR数宇滤波器的设计……………………………189 §5.1巴特沃兹和切比雪夫数字滤波器的设计…… 189 §5.2任意幅度IR数字滤波器的优化设计…………… 208
第六章FIR数字滤波器的设计 227 §6.1窗函数方法… §6.2頻域最小误差平方设计 §6.3切比雪夫逼近方法… 第三篇随机数字信号处理 第一章经典谱估计 264 §1.1功率谱估计的周期图方法…… §1.2功率谱估计的相关方法… 点271 第二章现代谱估计 280 §2.1求解一般托布利兹方程组的莱文森算法………………………280 §2.2求解对称正定方程组的乔里斯基算法… §2.3求解尤利沃克方程的莱文森德宾算法 §2.4计算ARMA模型的功率谱密度 §2.5尤利沃克谱估计算法… §2.6协方差谱估计算法………………… §2.7Burg谱估计算法 2.8最大似然谱估计算法……… 308 第三章时频分析 314 §3.1维格纳( wigner)分布 §3.2离散小波变换…………… ·3]8 第四章随机信号的数字滤波 330 §4,1维纳( Wiener)数字滤波…………………………………… 330 §42卡尔曼( Kalman)数字滤波… 335 §43最小均方(LMS)自适应数字滤波……… §4.4归一化LMS自适应数字滤波 344 §45递推最小二乘(RLS)自适应数字滤波…… ·‘“ 348 第四篇数字图像处理 第一章图像基本运算 §1.1图像读取、存储与显示……………1352
第一篇常用数字信号的产生 第一章数字信号的产生 §1.1均匀分布的随机数 功能 产生(a,b)区间上均匀分布的随机数。 二、方法简介 均匀分布的概率密度函数为 ≤b f(x)= 其它 通常用U(a,b)表示。均匀分布的均值为旦士b,方差为a元。。 产生均匀分布随机数的方法如下 首先,由给定的初值x。,用混合同余法 x =(aT-1+c)(mod M) y:=Ii/M 产生(0,1)区间上的随机数y其中:a=2045,c=1,M=22;然后,通过变换x=a (b-a)y产生(a,b)区间上的随机数z。 使用说明 1.子函数语句 double uniform (a, b, seed) 2.形参说明 双精度实型变量。给定区间的下限 双精度实型变量。给定区间的上限 seed长整型指针变量。“seed为随机数的种子。 四、子函数程序(文件名: uniform.c) double uniform(a, b, seed)
long int *seed double t 关seed=2045兴(*seed)+1; Seed=seed-(“seed/1048576)1048576; t=(“seed)/1048576.0 t=a+(b-a)共t return(t); 五、例题 产生50个0到1之间均匀分布的随机数。 主函数程序(文件名: uniform.m) # include Stdio h" i double a, b, x int i, j: long int s; double uniform (double, double, long int *); a=0.0;b=1.0;s=13579 for(i=0;i<10;i-+) (for(j=0;<5;j++) i x=uniform(a, b, &s); printf ("%13 7f, x); printf("n”) 运行结果 0.48263550.98959450.72067070.771582 0.73916340.58915140.81457810.81212620,7979975 0.90483670.39095970.51266860.40730760.9440937 0.67162610.47535710.10517980.09266470.4993505 0.17187120.47657490.59566690.13878150.8082657 0.90332890.30759240.02644250.07497020.3141527 0.44230840.52073190.89678960.93463230.3230572 0.65192320.18290330.03722860.13245580.8721647 57686610.69127750.66249660.80548000.2066078
0.51299000.06454660.99776740.43443300.4154520 S1.2正态分布的随机数 功能 产生正态分布N(μ,a2)的随机数。 、方法简介 正态分布的概率密度函数为 通常用N(p,2)表示。式中p是均值,d是方差。正态分布也称为高斯分布 产生正态分布随机数的方法如下 设n1,n2,…,rn为(0,1)上n个相互独立的均匀分布的随机数,由于E(r)=方, D(7)=14,根据中心极限定理可知,当n充分大时 的分布近似于正态分布N(0,1)。通常取n=12,此时有 最后,再通过变换y=p+x,便可得到均值为、方差为a2的正态分布随机数y 三、使用说明 1.子函数语句 double 2.形参说明 Mean 双精度实型变量。正态分布的均值p。 sigma——双稍度实型变量。正态分布的均方差a。 长整型指针变量。*seed为随机数的种子。 四、子函数程序(文件名; gauss.c) #include "uniform. cl double gauss(mean, sigma, s)
ong int关s i int i; double x,y; ouble u for(x=0,i=0;i<12i++) x+=uniform(0.0, 1.0, 5), 6.0; y=mean+x+ sigma; return(y ) 五、例题 产生50个均值为0、方差为1的正态分布的随机数。 主函数程序(文件名: gauss,m) #include #stdio. h # include"gauss. c maino int i,j; long int s double x, mean, sigma double gauss(double, double, long int *) mean=0.0; sigma=1.0;s=13579; for ( i=Oji<10 i++) for(j=0;j<5计++) i x=gauss(mean, sigma, &s)F printf(("%13.7f",x); printi("wn") 运行结果 2.89972110.90885730,2041950-0.2572155-0.8516827 0.7996998-0.98666190.0431385-1.91949270.2543507 0.36892511.2145863-1.05370901.7050953-1.6925945 0,4928722 1.9956684-0.59806631.29232980.1707630 0.5213604-0.40513420.8358479-054450801.6452045 0.5338917-0.8120403-0.3886852-0.25463680.4690113 0.4013348-0.1117687-0.9708843 65022471.3179646 0.53624150.74646191.3275318-0,40414241,8053455 0.85259820.24906731.68234440.94554330.4819355
1.1704273-0.17257500,2068348-1.99993710.8360157 §1.3指数分布的随机数 、功能 产生指数分布的随机数。 二、方法简介 1.产生随机变量的逆变换法 定理设F(x)是任一连续的分布函数如果a~U(0,1)且刀=F-(x),那么?~F(x)。 证明由于~U(0,1),则有 P(≤x)=P(F-(u)≤x)=P(u≤F(x))=F(x 所以,~F(x)。定理证毕 此定理给出了从均匀分布随机数到给定分布F(x)的随机数的变换。根据该变换可产 生分布函数为F(x)的随机数x,其算法可用下列两个步骤实现 (1)产生均匀分布的随机数故,即u~U(0,1);(2)计算x=F-1() 2.产生指数分布随机数的方法 指数分布的概率密度函数为 f(x)=〈B ≥0 其它 其分布函数为 F(x)= 其它 指数分布的均值为A,方差为P2 根据上述的逆变换法,产生指数分布随机数的方法为 (1)产生均勺分布的随机数a,即4~U(0,1);(2)计算x=-pln(a) 三、使用说明 1.子函數语句 double exponent(beta, s) 2.形参说明 beta—双精度实型变量。指数分布的均值
s-长整型指针变量。*s为随机数的种子 四、子函数程序(文件名: exponent.c) t include "math. h" #t include uniform cl double exponent(beta, s) double beta; i double u, x double uniform u=uniform(0.0,1.0,s) beta log( u); return(x)H 五、例题 产生50个均值为2、方差为4的指数分布的随机数 主函数程序(文件名 #include "stdio. h" # include"exponent c" main( i int i,j; long double x, beta: double exponent); 0;s=13579; 0;i<10;i++) for(j=0;j<5;j++) I x=exponent(beta, &s); printf("%13. 7. x) printf("\n"); 运行结果: 1.45698710.02092010.65514590.51862310.2411175 0.60447251.05814420.410170 0.4161992 0.4512997 0.20000171.87830141.33625131.79637310.1150597 0.79610701.48737814,50416854.75753501.3888938 6
3.5220201 1.4822608 1.0361474 3.9497085 0.4257289 2.35795957.26556355.18132782.3157520 1.63149571.3050398 21786810.13520422.2598519 39759546.5813570 4.0430121 0.2735539 1.10028990.73842790.82347980.43263383.1538658 1.3349979548073630.00447011,66742721.7567765 §1.4拉普拉斯( Laplace)分布的随机数 功能 产生拉普拉斯分布的随机数。 方法简介 1.产生随机变量的组合法 将分布函数F(x)分解为若干个较简单的子分布函数的线性组合 F(x)=∑F( 其中p>0(V1),且∑p=1,F(x)是分布函数 定理若随机变量~离散分布{P},即P(=1)=p,并且x~F(x),取z 则z~F(x) P F r) 证明x的分布函数为 P(z≤t)=P((z≤t)∩U(=i)) P(z≤t,=i) ∑P(=iP(z≤|=i)=∑AF()=F(t) 定理证毕 根据此定理,我们给出产生随机数的组合算法如下 (1)产生一个正随机整数E,使得P(=i)=p(i=1,2,…,K) (2)在=t时,产生具有分布函数F(x)的随机变量x 在该算法中,首先以概率p选择子分布函数F,(x),然后取F(x)的随机数作为F(x) 的随机数 2.产生拉普拉斯分布随机数的方法 拉普拉斯分布的概率密度函数为