匿名用户

1级

2018-11-18 回答

clear all

close all

%channel system order

sysorder = 5 ;

% Number of system points

N=2000;

inp = randn(N,1);

n = randn(N,1);

[b,a] = butter(2,0.25);

Gz = tf(b,a,-1);

%This function is submitted to make inverse Z-transform (Matlab central file exchange)

%The first sysorder weight value

%h=ldiv(b,a,sysorder)';

% if you use ldiv this will give h :filter weights to be

h= [0.0976;

0.2873;

0.3360;

0.2210;

0.0964;];

y = lsim(Gz,inp);

%add some noise

n = n * std(y)/(10*std(n));

d = y + n;

totallength=size(d,1);

%Take 60 points for training

N=60 ;

%begin of algorithm

w = zeros ( sysorder , 1 ) ;

for n = sysorder : N

u = inp(n:-1:n-sysorder+1) ;

y(n)= w' * u;

e(n) = d(n) - y(n) ;

% Start with big mu for speeding the convergence then slow down to reach the correct weights

if n < 20

mu=0.32;

else

mu=0.15;

end

w = w + mu * u * e(n) ;

end

%check of results

for n = N+1 : totallength

u = inp(n:-1:n-sysorder+1) ;

y(n) = w' * u ;

e(n) = d(n) - y(n) ;

end

hold on

plot(d)

plot(y,'r');

title('System output') ;

xlabel('Samples')

ylabel('True and estimated output')

figure

semilogy((abs(e))) ;

title('Error curve') ;

xlabel('Samples')

ylabel('Error value')

figure

plot(h, 'k+')

hold on

plot(w, 'r*')

legend('Actual weights','Estimated weights')

title('Comparison of the actual weights and the estimated weights') ;

axis([0 6 0.05 0.35])

% RLS 算法

randn('seed', 0) ;

rand('seed', 0) ;

NoOfData = 8000 ; % Set no of data points used for training

Order = 32 ; % Set the adaptive filter order

Lambda = 0.98 ; % Set the forgetting factor

Delta = 0.001 ; % R initialized to Delta*I

x = randn(NoOfData, 1) ;% Input assumed to be white

h = rand(Order, 1) ; % System picked randomly

d = filter(h, 1, x) ; % Generate output (desired signal)

% Initialize RLS

P = Delta * eye ( Order, Order ) ;

w = zeros ( Order, 1 ) ;

% RLS Adaptation

for n = Order : NoOfData ;

u = x(n:-1:n-Order+1) ;

pi_ = u' * P ;

k = Lambda + pi_ * u ;

K = pi_'/k;

e(n) = d(n) - w' * u ;

w = w + K * e(n) ;

PPrime = K * pi_ ;

P = ( P - PPrime ) / Lambda ;

w_err(n) = norm(h - w) ;

end ;

% Plot results

figure ;

plot(20*log10(abs(e))) ;

title('Learning Curve') ;

xlabel('Iteration Number') ;

ylabel('Output Estimation Error in dB') ;

figure ;

semilogy(w_err) ;

title('Weight Estimation Error') ;

xlabel('Iteration Number') ;

ylabel('Weight Error in dB') ;

c语言打印跳动的图案,c语言程序设计-跳动的三角形相关推荐

  1. c语言打印空心矩形图案的程序,C语言之输出空心棱形图案

    #include #include void main() { int n,j,i; /*i为行数,j为每行中的项数*/ printf("输入图案上三角的高度n:"); scanf ...

  2. 使用Java语言打印一个爱心图案

    我们可以使用Java的输出语句来打印一个爱心图案.下面是一个简单的爱心图案的Java程序: public class PrintLove {public static void main(String ...

  3. C语言 打印小飞机的图案

    大家好!今天来打印小飞机的图案.主要是空格输入和转义字符的理解. : 还可以一次性打印: 希望对你有所启发!!!^__^ 拟把疏狂图一醉:对酒当歌,强乐还无味. ------------刘永<蝶 ...

  4. 用C语言打印棱形图案

    我们可以使用C语言中的循环打印一个棱形图案,如下图 这种题目就是判断行.列.每一行的空格数.每一行的*数的数量规律,我们可以在纸上稍微算一下,分上下两部分打印,此时思路就清晰很多! 1.我们打印任意行 ...

  5. 模仿下列程序自己打印一个趣味图案c语言,趣味程序导学C语言(28页)-原创力文档...

    C 趣味程序导学 语言 (请到附件里下载源代码与课件) 电脑游戏,一个熟悉而诱人的字眼,常常不经意地浮现在我们的脑海当中. 有梦幻神奇的 <传奇>,有惊险刺激的 <反恐精英>, ...

  6. 使用C语言打印不同星号图案(矩形 平行四边形 三角形)

    献给大一或大二的学弟学妹们和在自学 C语言的同志们. 打印自定义行数的矩形 打印效果: 参考代码: #include<stdio.h> int main() {int i,j,n;prin ...

  7. c语言打印空心矩形图案的程序,C语言空心菱形 *号打印图形

    //1.空心菱形 运行结果: 代码实现: int line = 0, m = 0; printf("请输入行数:\n"); scanf("%d", &l ...

  8. c语言间隔输出菱形图案,c语言输出菱形图案

    c语言输出菱形图案app,专为想学习编程的伙伴们提供的学习软件.在c语言输出菱形图案app中你可查看各类关于IT的相关信息,体验一对一即时在线答疑咨询服务,以及在线上课.看教学视频等. 基本简介 c语 ...

  9. c语言打印树形图形,数据结构C语言版树形结构.ppt

    数据结构C语言版树形结构 St中元素 算法执行的操作 ch AC k=2 , AC 建立E结点,因k=1,将其作为C结点的左孩子结点 E AC C结点进栈,k=1 ( A 建立C结点,因k=2,将其作 ...

最新文章

  1. vue 封装dialog_element-dialog封装成子组件
  2. ECCV 2020 论文大盘点-6D 位姿估计篇
  3. 用深度学习就不怕买到山寨奢侈品?LeCun投了这样一家公司
  4. TCP全局同步问题发生的原因
  5. jmeter(十一)JDBC Request之Query Type
  6. linux 0x00,linux 学习笔记0x00
  7. php csv 简单的导入
  8. Android和.NET通用的AES算法 (转) 好东东 收藏一下
  9. 如何在 Windows 上安装多个 MySQL,实现 MySQL 跨电脑移植使用
  10. boost 线程 linux,Boost Linux线程第一课
  11. Java编程——九九乘法表
  12. 用谷歌浏览器如何下载哔哩哔哩中的视频
  13. ACCESS集团VTN 引领跨境电商新机遇 助力海外品牌找到增长突破口
  14. 592. 分数加减运算 : 表达式计算入门题
  15. 男人哭了,是因为他真的爱了
  16. 关于文件关联的图标不能正常显示
  17. noindex如何使用?
  18. 循环神经网络-高级篇RNN Classifier
  19. mlp原来是这么回事
  20. 电子电路复习之零点漂移现象

热门文章

  1. HTML5学习笔记之音视频标签
  2. python pip 安装
  3. mysql主备(centos6.4)
  4. CocoaPods详解之----制作篇
  5. WORD中插入的公式与文字对不齐——公式比文字高——文字比公式低
  6. 计算机学习路线推荐(初稿)
  7. 20190226work
  8. 敏捷 - #2 原则:欢迎更改要求 ( #2 Agile - Principle)
  9. 中高级PHP程序员应该掌握哪些技术
  10. Entity Framework 并发处理