首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > 其他 > 数字信号处理C语言程序集(DSP算法大全C语言版本446页)

数字信号处理C语言程序集(DSP算法大全C语言版本446页)

  • 资源大小:4.99M
  • 上传时间:2021-07-09
  • 下载次数:0次
  • 浏览次数:0次
  • 资源积分:1积分
  • 标      签: 一般编程问题

资 源 简 介

除掉封面,共446页,只有5.39M,但内容是最全面的,质量上也是非常清晰的。是学dsp算法的绝佳书籍,没有华丽的数学推导,简单明了,名曰数字信号处理C语言程序集,民间又称DSP算法大全C语言版本。第六章FIR数字滤波器的设计F■尋■■b■晷↓國■看↓■↓b日↓bb↓●■■22786.1窗函数方法…22?§6.2域最小误差平方设计.……238§6.3切比雪夫逼近方法…………42第三篇随机数字信号处理第一章经典谱佔计……6§11功率谱估计的周期图方法…····““甲早争·道者自自.264§1.2功率谱估计的相关方法T■冒■■■■■『曾■■詈『國昏日■■哥■订d·聊聊b■山如↓h“◆白ψp4q第二章现代谱估计………………………26821求解一般托布利兹方程组的莱文森算法■■■昏■■1冒■■看嚼司聊國司冒D■180§22求解对称正定方程组的乔里斯基算法q■ψ鲁鲁曾◆◆曾自自4鲁唱音昏鲁自■Z83§23求解尤利沃克广程的菜文森德宾算法…°P甲自287§2.4计算ARMA模型的功率谱密度§2.5尤利沃克谱佔计算法………………………………………292A2.6协力差谱估计算法…1亡■曾■■目■鲁會曾罪司罪鲁·命讠咖D■■■■b啁§2.7 Burg谱佔计算法……1■●33§2.8最大似然谱估计算法第三章时频分析·聊·即·D●b·■唱鲁·◆■申曾阜曾q俨俨■■中個◆314§3.1维格纳( Wigner)分布·“314§32离散小波变换r""t31第四章随机信号的数字滤波也“命甲甲即甲330§41维纳( Wiener)数字滤波330§4,2卡尔曼( Kalman)数宇滤波.吾小如山山甲·自甲§43最小均方(LMS)自适应数字滤波"…"…"∵"卜"r""r"s""341§4-4归一化LMS自适应数字滤波…………344§4.5递推最小二乘(RLS)自适应数字濃泼导↓↓晶3L8第四篇数字图像处理第一章图像雄本运算■■↓罪隱b■【b啁山b西血a导即·晶s咱■聊暴,M352§1.1图像读取、存储与显示…第一篇常用数字信号的产生第一章数字信号的产生§1.1均匀分布的随机数功能产生(a,b)区间上均匀分布的随机数。方法简介均匀分布的概率密度函数为f(r)共它2,方差为Qb通常用U(a,b)表示。均匀分布的均值为+b产生均匀分布随机数的方法下首先,由给定的初值x,用混合同余法a=(ai-1+c)(mod M)产生(,1)区间上的随机数y其中:a-2045,c=1,M=22;然后,通过变换x,=a(ba)y;产生{a,b)区间上的随机数z;三、使用说明1.子函数语句double urniform (a, b, seed>2.形参说明a——双精度实型变量。给定区间的下限。b—双糖度实型变量。给定区间的上限。seed-—长整型指针变量。*seed为随机数的种子。四、子函数程序(文件名: uniform.c)Double uniform (a, b, seed)double a, bilong int的sced;QubIc¥seed=2045兴(#seed)+1ccd=.Scd一(;gced/lC48576)两L18576t=(兴seed)/1048576.0;t=+a)苦trefute〔五、例题产生50个0到1之问均匀分布的随机数主函数程序(文件名: uniform.r):# inelude" stdio.h′include furiomaini)doble a,b,x; int i+Jg intdouble unifo r(double, double, long int xa=0.0;h=1.0;=13?9for(i=0<10;j+)〔for(=0;<5;十+x=uniform(a, b,&s)printf("13.7于";x)printI("")运行结果:0.48263550.99959450.72C67070.77158260.88642500.7391634·0.589l5140.81457810.81212620.79799750.90433670.390959?b.51265860.40730760.94409370.6716261.47535710.10517980.C92的6470.49935050.17187120.47657190.59566690.13878150.80826570.90332890.3075924.02644250.C7497020.31415270.44230840.52073190.89673960.c3163230.32305720.6519230.1829033.03722860.1245580.87216470.5:685610.6912775662496,80548000.20660780.5129000.064546676740.43443300.415452081.2正态分布的随机数功能产生正态分布N(,a3)的随机数。方法徹介正态分布的概卒础度函数为Zxd通常用N(p42)表示。式中是均值,a2是方差。正态分布也称为高斯分布。生止态分布随机数的方法刘下设r1,r2,…,rn为(0,1)上n个相互独立的均匀分布的随机数,由于E(r)=方,DG;)、根据中心极限定理可知,当n充分大时的分布近似于止态分布N(0,1)。通常取n=12,北时有最后再通过变换y=+0x,便可得到均值为、方差为a2的正态分布随机数y使用说明1.子函敵语句double gauss(mean, sigma, seed)2.形参说明mean双精度实型变量。止态分布的均值k。SIgma—双精度实型变量。正态分布的均方差σseed—长整型指针变量。*sed为随机缴的种f。四、子函数程序(文件名: gauss. C)*include #uniform. crloubie gauss(nean, signa, s)doubie mean, sigma slong int sii int i; double x y;double uniform()4for(x=0,i=0i<12++)x+=uniform(0.0,1, 0, s):x=x-60Y [LEan十x樊 sigmareturn Ly)#五、例题产生50个均值为0方差为1的正态分布的随机数。主函数程序(文件名: gauss.T)*include sidiQ hr#*includemain(i int i,j; lony int sdouble x, ean,sig如apdouble gauss (double, double, long int )Fmean=0.0;8i1gma=1.0;s=13579for (i=Oji<101++)for(j=0;<5+十)x=gauss(mean, sigma, &is)+printf( 213.2f,x)prInt"”)运行结果2.8997211-,9885730,20419500.2572155-0385168270.799698-0.98666199,0431385-1,91492702543507036892512145863-1.05370901.7050953-1,69259450.49287221.3956684-0.59806331.29232980.17076300.5213634-0,40513420,8358479-0,54450801.64520450.5338917-0.8120403-0.3886852-0.2546368046901130.4013348-0.111T687-,9708843065022471.31796460.53624150.74646191.3275318-0.40414241.8053455--0.85259820.24906731.68234440.94554330481935541.1704273-0.17257500.2068348-—199993710.9360157§1.3指数分布的随机数功能产生指效分布的随机数二方法简介1.产生随机变量的燃变换法定理设F(x)是任一连续的分布函数如果~U0,1)且?=F2(a),那么~F(x)。证明由于txU01)则有P(≤x)=PF-ax)≤x)=Pt≤F(x))=F(x}所以,刀~F(x)。定理证毕此定理给出了从均匀分布隨机数到给定分布F(x)的随机数的变换。根据该变换可产生分布函数为F(x)的随机数x,其算法可用下列两个步骤实现:(1)产生均匀分布的随机数,即a~U(0,1);(2)计算x=F1(n)2.产生指数分布随机微的方法指数分布的概率密度函数为百ex≥其它其分布函数为FGr)1-e0其它指数分布的均值为,方差为2。根据上述的逆变换法,产生指数分布随机数的方法为(1)产生均匀分布的随机数t,即a~U(,1)(2)计算文=-p1n(n)三、使用说明1.子函救语句double exponent(beta s)2.形鲁说明beta——双精度实型变量。指数分布的均值β。s长型指针变量。S为随机数的种子。四、子函数程序(文件名: exponent..c)de # math. h杜inc4 e#uniform,Cdoublc exponent(beta, sdouble betag.tdouble u, x;double uniform()u=uniform(0.0,1.0,s)ta k logeturn(x)五例题产生50个圬值为2、方差为4的指数分布随机数主函数程序(文件名: exponent.m.):#include stdio. hff"exponentcmain li int i, j; long int 5;double x, betadouble exponent(beta=2.0;s=13575;1;i++){for(j=0;j5;j十十ix-exponent(beta, &s);prin(”%13,7”,x)Printi(r");运行结果1.4569871Q.32092010.65514590.51862310.24111750.60447251.95814430.4101700041519920.4512997e.2000171.8783014133625131.79637310.11505970.79610731.48737814、5046854.7575350.38889383.5220201:48226081.036147494970850.42572890.20333712,35795957.26556355.181327831575201.63]49j71.3503980.2]786810.1352022,259851985565713.3975954582357040430213.27355391.10028990.73842790.82347980,43263383.15386581.33499795.48073630.00447011.66742721.7567765§1,4拉普拉斯( Laplace)分布的随机数功能产生拉普拉斯分布的随机数。方法简介1.产生机变量的组合法将分布函数F(x)分解为若干个较简单的子分布函数的线性组合.F其中p>0(V),且∑p=1,F(x)是分布函数定理若随机变量~离散分布{p},即P(==p,,并且x~F(x),取z=x,则2~F(x)=∠F:证明z的分布函数为P(x≤t)=P((z≤t∩U(∑P(x≤t=i∑P(=1)P(x≤==∑F)=F(定理证毕根据此定理,我们给出产生随机数的组合算法如下:(1)产生一个正随机整数使得P(=订=P(=1,2…,K)2)在一t时,生具有分布函数F(x)的随机变量κ在该算法中,肖先以概率选择子分布函效F(x),然后取F(x)的随机效作为F(x)的随机数。2.产生拉普拉斯分布随机数的方法拉普拉新分布的概率密度函数为
VIP VIP
0.178722s