Matlab课程设计数据滤波程序

发布 2022-10-01 02:26:28 阅读 4379

matlab综合。

课程设计报告。

设计题目:

专业物联网工程。

班级 142

学生王明莲。

指导教师刘庆。

2016 年春季学期。

一、总体设计。

1.程序的总体设计。

二、功能实现。

1. (流程图)

三、测试及调试(测试方案、存在的问题及解决方法)

2. 详细描述程序编写的步骤及编写过程**现的问题;

3. 详细描述程序测试方案,采用的调试方法及调试手段;

4. 详细描述调试**现的问题、对问题的分析及解决方法。

四、总结。包括但不限于以下内容:

5. 对matlab知识的掌握程度;

6. 对程序设计方法(自顶向下、结构化设计)的体会和掌握程度;

7. 分析问题和解决问题的能力,并举例说明;

8. 建议与意见。

附件:主要源程序**(需打印)

附件一:一维信号滤波。

高斯滤波:高斯滤波的**。

x=0:2047;

a=load(''运行时文件要放到当前目录(current directory)中。

gau=[0.0009 0.0175 0.

1295 0.3521 0.3521 0.

1295 0.0175 0.0009];%标准差为1时的高斯函数一维模板,如果标准差不为1,则要修改模板。

y=conv(a,gau);

y=y(1:length(y)-length(gau)+1);

figure;

subplot(1,2,1);plot(x,a);

xlabel('高斯滤波前的序列');

subplot(1,2,2);plot(x,y);

xlabel('高斯滤波后的序列');

高斯函数的一维模板可以由这个函数得到:fspecial('gaussian', 1 n], sigma)

当标准差sigma是某一固定数字时,存在一个n,对于任意的n>=n,模板都一样。

中值滤波:function y=yiweimid(x,n)

m,n]=size(x);

xin = zeros(1,n);

for i=1:1:n-n

q = median(x(1,i+n));

xin(1,i+n)=q;

endy=xin;

end中值滤波的**:

x=0:2047;

a=load(''运行时文件要放到当前目录(current directory)中。

n=5; %n为模板长度,值可以改变。

y = medfilt1(a,n);

figure;

subplot(1,2,1);plot(x,a);

xlabel('中值滤波前的序列');

subplot(1,2,2);plot(x,y);

xlabel('中值滤波后的序列');

均值滤波:function y=yiweijun(x,n)

m,n]=size(x);

xin = zeros(1,n);

for i=1:1:n-n

q = sum(x(1,i+n))/n+1);

xin(1,i+n/2)=q;

end y = xin;

end均值滤波的**:

x=0:2047;

a=load(''运行时文件要放到当前目录(current directory)中。

n=5; %n为模板长度,值可以改变。

mean = ones(1,n)./n; %mean为1×n的模板,各数组元素的值均为1/n

y = conv(a,mean);

y=y(1:length(y)-length(mean)+1);

figure;

subplot(1,2,1);plot(x,a);

xlabel('均值滤波前的序列');

subplot(1,2,2);plot(x,y);

xlabel('均值滤波后的序列');

附件二:二维信号滤波。

高斯滤波:function d = gaussfilt(s)

row,col]=size(s);

k=1;n=mean(mean(s));

img = double(s);

n1=floor((n+1)/2);

%n2=floor((col+1)/2);

for i= 1:n

for j=1:n

b(i,j) =exp(-(i-n1)^2+(j-n1)^2)/(4*k))/4*pi*k);

endend

img1=conv2(img,b,'same');

d=uint8(img1);

end中值滤波:

function y = midfilter(x,n)

row,col] =size(x);

x1 = double(x);

x2 =x1;

for i = 1:row-n+1

for j = 1:row-n+1

c = x1(i:i+(n-1),j:j+(n-1));

e =c(1,:)

for u = 2:n

e =[e,c(u,:)

endmm =median(e);

x2(i+(n-1)/2,j+(n-1)/2) =mm;

endend

y = uint8(x2);

end均值滤波:

function y = midjunzhi(x,n)

row,col] =size(x);

x1 = double(x);

x2 =x1;

for i = 1:row-n+1

for j = 1:row-n+1

c = x1(i:i+(n-1),j:j+(n-1));

e =c(1,:)

for u = 2:n

e =[e,c(u,:)

endmm =sum(e)/(n*n);

x2(i+(n-1)/2,j+(n-1)/2) =mm;

endend

附件三:二维信号滤波算法的改进。

中值滤波改进算法:

function y = midfiltergaijin(x,n)

row,col] =size(x);

x1 = double(x);

x2 =x1;

for i = 1:row-n+1

for j = 1:row-n+1

c = x1(i:i+(n-1),j:j+(n-1));

e =c(1,:)

for u = 2:n

e =[e,c(u,:)

endif( x2(i+(n-1)/2,j+(n-1)/2)==max(e)||x2(i+(n-1)/2,j+(n-1)/2)==min(e))

mm =median(e);

x2(i+(n-1)/2,j+(n-1)/2) =mm;

elsex2(i+(n-1)/2,j+(n-1)/2)=x2(i+(n-1)/2,j+(n-1)/2);

endend

y = uint8(x2);

end均值滤波改进算法:

function y = midjunzhigaijin(x,n)

一种改进的均值滤波算法。

row,col] =size(x);

x1 = double(x);

x2 =x1;

for i = 1:row-n+1

for j = 1:row-n+1

c = x1(i:i+(n-1),j:j+(n-1));

e =c(1,:)

for u = 2:n

e =[e,c(u,:)

endif( x2(i+(n-1)/2,j+(n-1)/2)==max(e)||x2(i+(n-1)/2,j+(n-1)/2)==min(e))

mm =sum(e)/(n*n);

x2(i+(n-1)/2,j+(n-1)/2) =mm;

elsex2(i+(n-1)/2,j+(n-1)/2)=x2(i+(n-1)/2,j+(n-1)/2);

endend

endy = uint8(x2);

endgui界面程序:

function varargout = untitled(varargin)

gui_singleton = 1;

gui_state = struct('gui_name', mfilename, .

gui_singleton', gui_singleton, .

gui_openingfcn', untitled_openingfcn, .

gui_outputfcn', untitled_outputfcn, .

gui_layoutfcn

gui_callback',

if nargin &&ischar(varargin)

gui_ =str2func(varargin);

endif nargout

[varargout] =gui_mainfcn(gui_state, varargin);

课程设计 matlab滤波器

信号处理与系统设计报告。一 设计题目及要求。给定一个混有单频噪声的w 波形文件,设计一个滤波器,要求能很好的滤除掉单频噪声,并且对原声音信号的影响最小。这里仅仅要求fir滤波器用窗函数法,iir滤波器用butterworth实现。二 设计原理。1 iir数字滤波器的实现方法。1 把数字滤波器的相应指...

2课程设计数学

探索乔布斯的苹果时代探索手机应用之旅数学课程方案。一 开发人员。王月红周彦。二 开发背景。在信息通讯飞速发展的时代,人类对信息的需求的越来越大。小学生初步掌握了一定的计算机操作能力,了解计算机的运算方法帮我们沟通和计算机的联系,从中感受到数学的价值。通过计算机app软件的应用,能综合锻炼学生的能力。...

MATLAB课程设计

1 求被控对象传递函数g s 的matlab描述。num 789 6312 11835 den 1 14 56 64 0 0 gs tf num,den transfer function 789 s 2 6312 s 11835 s 5 14 s 4 56 s 3 64 s 2 2 求被控对象脉冲...