自学内容网 自学内容网

重邮+数字信号处理实验二:系统响应及系统稳定性

 实验任务:

实验原理详情见指导书

主要是matlab提供的函数,自己要学会多查

使用到的函数

function y=uDT(n);
y=n>=0;

作用:提供阶跃

主程序

注意不要用GPT去写一堆乱七八糟的if else,会被骂的

主任务

n=0:30;
x=(n==0);
%题一
%第一小问

a1=[3 4 1];
b1=[1 1];

h1=filter(b1,a1,x);
subplot(2,1,1)
stem(n,h1,"filled"),grid on;
%impz(b1,a1,10);


%第二小问
a2=[2.5 6 10];
b2=[1];

h2=filter(b2,a2,x);
subplot(2,1,2)
stem(n,h2,"filled"),grid on

%题二
nx=-1:11;
nh=-1:6;
figure;
h3=0.875.^nx.*(uDT(nx)-uDT(nx-10));
X=uDT(nh)-uDT(nh-5);
C=conv(h3,X);
ny1=nx(1)+nh(1);
ny2=(nx(end)+nh(end));
ny=ny1:ny2;

subplot(2,1,1)
stem(ny,C,"filled"),grid on

%题三
B=imread("lena.bmp");
Gx=[-1 0 1;-2 0 2;-1 0 1];
Gy=[1 2 1;0 0 0;-1 -2 -1];
GxB=conv2(Gx,B);
GyB=conv2(Gy,B);
GxyB=conv2(GxB,Gy);
figure;
subplot(2,2,1)
imshow(B);
subplot(2,2,2);
imshow(GxB);
subplot(2,2,3);
imshow(GyB);
subplot(2,2,4);
imshow(GxyB);

思考题

%思考题一
n1=-3:3;
x=[3,11,7,0,-1,4,2];
n2=-1:4;
h=[2,3,0,-5,2,1];

input=conv(x,h);

nstart=n1(1)+n2(1);
nend=n1(end)+n2(end);

n3=nstart:nend;
figure;
subplot(2,1,1)
stem(n3,input,"filled"),grid on;

%思考题二:Canny检测
grayImage = imread("lena.bmp");  
edgeImage = edge(grayImage, 'Canny');

% 显示原图和边缘检测后的图像figure;  
figure;
subplot(1,2,1);  
imshow(grayImage);  
title('原图');  

subplot(1,2,2);  
imshow(edgeImage);  
title('Canny 边缘检测');


smoothedImage = imgaussfilt(grayImage,2);
% 使用 sigma=2 的高斯滤波
edgeImage = mat2gray(edgeImage);
%归一化到 [0,1] 范围
% 显示原图和边缘检测后的图像figure;  
figure;
subplot(1,2,1);  
imshow(grayImage);  
title('原图');  

subplot(1,2,2);  
imshow(smoothedImage);  
title('Laplacian 边缘检测');  


原文地址:https://blog.csdn.net/a6s686/article/details/144041127

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!