前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >信号与系统实验六 傅里叶分析方法的应用

信号与系统实验六 傅里叶分析方法的应用

作者头像
timerring
发布于 2022-07-20 06:06:38
发布于 2022-07-20 06:06:38
1.6K00
代码可运行
举报
文章被收录于专栏:TechBlogTechBlog
运行总次数:0
代码可运行

目录

【实验目的】

【实验设备】

【实验内容】

1.某系统的频响函数​编辑,试画出其对数幅频特性与相频特性。

​编辑 2.试画出频响函数​编辑 的对数幅频特性。

3.已知信号为​编辑,用MATLAB编程实现该信号经冲激脉冲,抽样得到的抽样信号fs(t)及其频谱。令参数E=5,τ=0.5,采用抽样间隔

 4.对题3获得的抽样信号,采用截止频率为4pi的低通滤波器对其滤波后重建信号f(t),并计算重建信号与原升余弦脉冲信号的绝对误差。

​编辑5.已知调制信号f(t)=cos5πt,载波信号fc(t)=cos60πt,编程画出调制与解调过程中的波形图与频谱图。

% 7.1.2 分别采用前 4、40、400 项,画出周期矩形脉冲信号的近似图

 %7.1.4 任意周期信号的周期核函数傅立叶系数的计算及重构算法时间渐进合成演示

 %7.2.2 比较非周期信号傅立叶变换与周期信号傅立叶系数的关系

 %7.2.3 用MATLAB符号运算函数fourier求解下列信号的傅立叶变换,并用ifourier验证

 ​编辑​编辑​编辑%7.2.4 验证傅立叶变换的尺度变换性质

 %7.3.2 幅度失真对听觉和视觉的影响

 %7.3.3 相位失真对听觉和视觉的影响

 %7.4.2 对音频信号时移,与原信号在时域上和频域上进行比较

 %7.4.3 对音频信号进行尺度变换,与原信号在时域上和频域上进行比较

 %7.4.4 对音频信号分别进行一次微分和二次微分操作,比较这两个信号与原信号的幅度谱和声音的变化。

 %7.4.5 对音频信号的傅立叶变换进行频移1Hz操作,比较其时域波形和声音的变化

 %7.5 看见声音

 %7.6 听见图像

【实验感悟】


【实验目的】

1.学会使用MATLAB完成频响函数的对数幅频特性与相频特性绘制。

2.学会使用MATLAB完成信号抽样与对抽样信号的频谱分析。

3.学会使用MATLAB对抽样后的信号进行重建。

4.了解使用MATLAB对其他傅里叶分析的应用。

【实验设备】

  1. 计算机
  2. MATLAB软件

【实验内容】

1.某系统的频响函数

,试画出其对数幅频特性与相频特性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
omega=logspace(-3,1,500);  %logspace函数生成对数间隔向量
h=1./(1+1i*2*omega);
figure;
subplot(2,1,1);grid on;
semilogx(omega,20*log10(abs(h)));%在x轴取对数
title('对数幅频特性');
subplot(2,1,2);grid on;
semilogx(omega,angle(h));
title('相频特性');

 2.试画出频响函数

 的对数幅频特性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
w=0:0.02:100;
magHw=abs(3./(3*1i*w+2-w.^2));
semilogx(w,magHw);
title('对数幅频特性')
xlabel('Frequency in rad/sec-log scale');
ylabel('Magnitude of Vout/Vin');
grid

3.已知信号为

,用MATLAB编程实现该信号经冲激脉冲,抽样得到的抽样信号fs(t)及其频谱。令参数E=5,τ=0.5,采用抽样间隔

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
s=1;
dt=0.1;
Ts=0.2;
t1=-4:dt:4;
ft=(5*(1+cos(2*pi*t1))/2).*(heaviside(t1+0.5)-heaviside(t1-0.5));%阶跃函数的表达
subplot(221);plot(t1,ft),
grid on;
axis([-2 2 -0.1 5.1]);
xlabel('Time(sec)'),ylabel('f(t)');
title('信号ft');
N=500;
k=-N:N;
W=pi*k/(N*dt);
Fw=dt*ft*exp(-1i*t1'*W);
subplot(222);plot(W,abs(Fw)),
grid on;axis([-30 30 -0.1 1.1*pi]);
xlabel('\omerga'),ylabel('F(w)');
title('信号ft的频谱');
Ts=0.2;
t2=-4:Ts:4;
fst=(5*(1+cos(2*pi*t2))/2).*(heaviside(t2+0.5)-heaviside(t2-0.5));
subplot(223);plot(t1,ft,':'),hold on;
stem(t2,fst),grid on;
axis([-2 2 -0.1 5.1]);
xlabel('Time(sec)'),ylabel('fs(t)');
title('抽样后的信号'),hold off;
Fsw=Ts*fst*exp(-1i*t2'*W);
subplot(224);plot(W,abs(Fsw)),grid on;
axis([-30 30 -0.2 1.1*pi]);
xlabel('\omega'),ylabel('Fs(w)');
title('抽样后的信号的频谱')

 4.对题3获得的抽样信号,采用截止频率为4pi的低通滤波器对其滤波后重建信号f(t),并计算重建信号与原升余弦脉冲信号的绝对误差。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
E=5;
wc=4*pi;
Ts=0.2;
n=-100:100;
nTs=n*Ts;
fs=(E*(1+cos(2*pi*nTs))/2).*(heaviside(nTs+0.5)-heaviside(nTs-0.5));
t=-4:0.1:4;
ft=fs*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
t1=-4:0.1:4;
f1=(5*(1+cos(2*pi*t1))/2).*(heaviside(t1+0.5)-heaviside(t1-0.5));
subplot(311);
plot(t1,ft,':'),hold on;
stem(nTs,fs),grid on;
axis([-2 2 -0.1 5]);
xlabel('nTs'),ylabel('f(nTs)');
title('抽样间隔Ts时的抽样信号f(nTs)');
hold off;
subplot(312);
plot(t,ft),grid on;
axis([-4 4 -0.1 5]);
xlabel('t'),ylabel('f(t)');
title('由f(nTs)信号重建得到原信号');
error=abs(ft-f1);subplot(313);
plot(t,error),grid on;
xlabel('t'),ylabel('error(t)');
title('重建信号与原信号的绝对误差')

5.已知调制信号f(t)=cos5πt,载波信号fc(t)=cos60πt,编程画出调制与解调过程中的波形图与频谱图。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
clear clc
fs=40;
Fs=400;
Fc=30;
N=400;
n=0:N;
t=n/Fs;
xt=cos(pi*5*t);
xct=cos(2*pi*Fc*t);
yt=xt.*xct;
Xw=fftshift(abs(fft(xt,512)));
Yw=fftshift(abs(fft(yt,512)));
ww=-256:255;
ww=ww*Fs/512;
figure,subplot(2,1,1),plot(t,xt),title('调制信号波形');
subplot(2,1,2),plot(ww,Xw),title('调制信号频谱');
figure,subplot(2,1,1),plot(t,yt),title('已调信号波形');
subplot(2,1,2),plot(ww,Yw),title('已调信号频谱');
ylt=yt.*xct;
figure,subplot(2,1,1),plot(t,ylt),title('解调过程中间信号波形');
Ylw=fftshift(abs(fft(ylt,512)));
subplot(2,1,2),plot(ww,Ylw),title('解调过程中间信号频谱');
h=fir1(20,40/200,hamming(21));
figure,freqz(h,1),title('滤波器频率特征');
y2t=filter(h,1,ylt);
Y2w=fftshift(abs(fft(y2t,512)));
figure,subplot(2,1,1),plot(t,y2t),title('解调信号的波形');
subplot(2,1,2),plot(ww,Y2w),title('解调信号的频谱')

%运行程序,观察结果,认真完成以下问题。

% ①如何理解任何周期信号都可以分解成正弦信号加权和的形式;

%答:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。傅里叶级数就是加权的权重,傅里叶级数分解的方法可以把任意周期信号表示为正弦和余弦信号的和,余弦可以表示为相移了90°的正弦。通过实验也可以很明显地看出来,最大谐波次数为400时,信号趋近于周期方波信号。

% ②怎样理解非周期信号的傅立叶变换可以由周期信号的傅立叶系数被其基频归一化获得;

%答:非周期信号的傅里叶变换可以看作周期为无穷大的周期信号,此时频谱间隔2*pi/w趋于零,谱线变为连续的。为了比较无穷小之间的比例,引入归一化的概念,将傅里叶系数基频归一化在图像处中,归一化后可以对频域能量图像更好的量化(将频域能量重新量化到0-255范围的灰度图像)

% ③合理解释信号的高频信息对应其细节,信号的低频信息对应其概貌;

%答:二维的图像可以分解成不同的频率成分。其中,低频成分描述大范围的信息,而高频成分描述具体的细节。在灰度图像中,亮度变化小的区域主要是低频成分,而亮度变化剧烈的区域 (比如物体的边缘)主要是高频成分。而低频信号对应信息中变化慢的那一部分,高频信号对应信息中变化慢的那一部分,概貌轮廓的变化比较慢,细节处的变化比较快,因此信号的高频信息对应其细节,信号的低频信息对应其概貌。

% ④解释时域平移信号对其频域的幅度谱不产生影响的原因;

%答:信号在时域左移/右移 t0,则频域信号会乘exp(±jwt0),它的幅值为1,即不影响其幅度谱。

% ⑤叙述音频信号在时域进行尺度变换后,对听觉产生的影响,并解释其原因;

%答:音频信号在时域进行尺度扩展后,声音变得缓和,尺度压缩后,声音变得短促。这会影响音频的响度,具体表现为扩展后音量变小,压缩后音量变大

% ⑥根据音频信号在时域微分信号的频谱图,解释听到的该声音与原声音(微分之前)不同的原因;

%答:对信号进行微分后,频域信号相当于乘以jw,高频信号幅度增加,低频信号幅度减小。所以微分后信号中的高频分量更多,低频分量更少,起到一定的锐化作用。

% ⑦声音信号在频域平移1Hz后,根据其傅立叶逆变换模信号对应的时域图,解释听到声音的变化,并在理论上解释其原因;

%答:声音的大小会有一定的波动,因为频域平移,相当于时域信号乘以exp(jwt),在实数域上表现为乘以三角函数,其大小会发生周期性波动。

% ⑧讨论相位失真对人的听觉和视觉产生的影响;

%答:视觉上表现为看到的二维图像的边缘锐化减小,图像更加模糊,不同灰度值之间的区别也有所减小,听觉上表现为不同频率声音的区别变小

% ⑨声音信号重构成二维图像信号后,讨论乐音和噪声对视觉效果的不同;

%答:乐声信号中的高频信号多,对应的图像细节较多,噪声的低频信号更多,图像更加平滑。

% ⑩图像信号展开成一维信号后,讨论有规律的纹理图像、任意图像和噪声图像对应的一维音频信号对听觉效果的不同。

%答:有规律的纹理图像转化为的音频信号中规律部分较多,或许可以组成某种固定的和旋等重复部分,让人印象深刻,而任意图像这种随机性就增加,规律感就会减少,而噪声图像由于有较多的杂乱部分,听觉效果较差。

% 7.1.2 分别采用前 4、40、400 项,画出周期矩形脉冲信号的近似图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
clear;close all; format compact
t=-1:0.001:1;
E=1;T=1;w=2*pi/T;
ft=square(2*pi*t,50);           %写出函数表达式
figure(1);
h=figure(1);
set(h,'name','7.1.2 分别采用前 4、40、400 项,画出周期矩形脉冲信号的近似图');
set(h,'position', [0.2 0.3 0.6 0.6],'Units','normalized' );%以相对大小的方式绘图
set(h,'position', [0.2 0.3 0.6 0.6],'Units','normalized' );
subplot(2,2,1),plot(t,ft),grid on
axis([-1,1,-1.5,1.5])%设置坐标轴 
title('周期方波信号')
n_max=[4 40 400];
N=length(n_max);
for k=1:N   %通过for循环的方式绘图
    n=1:2:n_max(k);
    b=4*E./(pi*n);  %设置幅度
    x=b*sin(2*pi*n'*t); %设置函数表达式
    subplot(2,2,k+1),plot(t,x),grid on
    axis([-1,1,-1.5,1.5])
    title(['最大谐波次数=',num2str(n_max(k))])
end  %结束循环标志
pause;

%7.1.4 任意周期信号的周期核函数傅立叶系数的计算及重构算法时间渐进合成演示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Um=0.1;T=1;w=2*pi/T;  %分别对最大值,周期和频率进行初始化
num_noise=100;   %定义噪声
%N=input('取的谐波次数 N= ');
N=60;   %设定前N项
Fs=1000;
t=0:1/Fs:T;
num_points=numel(t); %设置时间点的个数
dt=T/(num_points-1);  %设置时间点间隔
un=Um*(sin(1*2*pi*t));  %分解的波形
n=randn(num_noise-2,1);  %随机生成矩阵
n=[0;n;0];
n = interp1([0:num_noise-1],n,linspace(0,num_noise-2,num_points),'linear'); %此处采用线性插值法插入前面的噪声信号
un=un+0.8*n;
figure(2);
h=figure(2);
set(h,'position', [0.2 0.05 0.6 0.8],'Units','normalized' ); %以相对尺寸的方式画图
set(h,'position', [0.2 0.05 0.6 0.8],'Units','normalized' );
subplot(3,1,1);plot(t,un,'LineWidth',3);
axis([-0.05*T  T+0.05*T  -1.8  1.8]);
grid on;
hold on;

a0=trapz(un)*dt/T*1;  %初始化参数a0、b0、Phi0
b0=0; 
A0=abs(a0);
Phi0=0;
for k=1:N   %以循环的方式求解a(k) 、b(k)A(k)Phi(k)
    a(k)=trapz(un.*cos(k*w*t))*dt/T*2;
    b(k)=trapz(un.*sin(k*w*t))*dt/T*2;
    A(k)=sqrt(a(k)^2+b(k)^2);
    Phi(k)=atan2(-b(k),(a(k)+eps));
end
subplot(3,1,2);stem(0,A0);  axis([0 N -inf,inf]);title('单边幅度谱')
subplot(3,1,3);stem(0,Phi0); axis([0 N -inf,inf]);title('单边相位谱')
Reu=A0;
subplot(3,1,1);plot(t,Reu+0*t,'g');
for k=1:N
    clf;
    subplot(3,1,1);plot(t,un,'LineWidth',3);grid on;hold on;
    axis([-0.01*T  T+0.01*T  -1.8  1.8]);  %初始化坐标轴
    title(strcat('原图和前',num2str(k),'次谐波之和'));
    subplot(3,1,2);stem(0:k,[A0,A(1:k)]);title('单边幅度谱');axis([0 N -inf,inf]);grid on;
    subplot(3,1,3);stem(0:k,[Phi0,Phi(1:k)]);title('单边相位谱');axis([0 N -3.2 3.2]);grid on;
    ad=A(k)*cos(k*w*t+Phi(k));
    subplot(3,1,1);plot(t,ad,'k');
    subplot(3,1,1);plot(t,Reu,'r','LineWidth',2);
    if k==18
        pause;
    end
    pause(0.1);
    Reu=Reu+ad;  
end
Psll=trapz(un.^2)*dt/T;     % 原信号能量
Ps12=A0^2+sum(A(1:end).^2/2);  %N项谐波能量
pause;

 %7.2.2 比较非周期信号傅立叶变换与周期信号傅立叶系数的关系

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
figure(3);
h=figure(3);
set(h,'name','7.1.4 任意周期信号的周期核函数傅立叶系数的计算及重构算法时间渐进合成演示');
set(h,'position', [0.2 0.05 0.6 0.4],'Units','normalized' );  %以相对尺寸的方式绘图
set(h,'position', [0.2 0.05 0.6 0.4],'Units','normalized' );
subplot(2,1,1);stem(0:N,[A0*2,A(1:end)]); title('单边幅度谱');grid on;
subplot(2,1,2);stem(0:N,[Phi0,Phi(1:end)]);title('单边相位谱');grid on;

uf=fft(un,numel(un))/(Fs*T);    %因为每个周期有Fs个点
figure(4);
h=figure(4);
set(h,'position', [0.2 0.5 0.6 0.4],'Units','normalized' );  %以相对尺寸的方式绘图
set(h,'position', [0.2 0.5 0.6 0.4],'Units','normalized' );
set(h,'name','7.2.2 比较非周期信号傅立叶变换与周期信号傅立叶系数的关系');
subplot(2,1,1);stem(0:N,abs(uf(1:N+1)));title('非周期信号幅度谱(正频率部分)');grid on;
subplot(2,1,2);stem(0:N,angle(uf(1:N+1)));title('非周期信号相位谱(正频率部分)');grid on;
pause;

%7.2.3 用MATLAB符号运算函数fourier求解下列信号的傅立叶变换,并用ifourier验证

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
syms t;
ft1=exp(-t)*heaviside(t);%设置函数式
ft2=1/(sqrt(2*pi))*exp(-((t^2)/2));%设置函数式
Fw1=fourier(ft1);%对函数进行傅里叶变换
ft1i=ifourier(Fw1);%对函数进行傅里叶反变换
Fw2=fourier(ft2);
ft2i=ifourier(Fw2);
figure(7);
h=figure(7);
set(h,'position', [0.2 0.05 0.6 0.4],'Units','normalized' );
set(h,'position', [0.2 0.05 0.6 0.4],'Units','normalized' );
set(h,'name','7.2.3 用MATLAB符号运算函数fourier求解下列信号的傅立叶变换,并用ifourier验证');
subplot(2,1,1);ezplot(abs(Fw1));title('原信号1的幅度谱');axis([-6 6 0 1.1]); grid on;
subplot(2,1,2);h1=ezplot(abs(Fw2),[-6 6]);title('原信号2的幅度谱');axis([-6 6 0 1.1]); grid on;
set(h1,'Color','r','LineWidth',2)  %设置描述线为红色
figure(5);
h=figure(5);
set(h,'position', [0 0.5 0.5 0.4],'Units','normalized' );
set(h,'position', [0 0.5 0.5 0.4],'Units','normalized' );
set(h,'name','7.2.3 用MATLAB符号运算函数fourier求解下列信号的傅立叶变换,并用ifourier验证');
subplot(2,1,1);ezplot(ft1); title('原时域信号');axis([-0.1 3 0 1.1]); grid on;
subplot(2,1,2);h1=ezplot(ft1i); title('逆变换后的时域信号');axis([-0.1 3 0 1.1]); grid on;%通过傅里叶反变换得到的图像验证
set(h1,'Color','c','LineWidth',2);%设置描述线为蓝色
figure(6);
h=figure(6);
set(h,'position', [0.5 0.5 0.5 0.4],'Units','normalized' );
set(h,'position', [0.5 0.5 0.5 0.4],'Units','normalized' );
set(h,'name','7.2.3 用MATLAB符号运算函数fourier求解下列信号的傅立叶变换,并用ifourier验证');
subplot(2,1,1);h1=ezplot(ft2);title('原时域信号');axis([-3 3 0 0.5]); grid on;
set(h1,'Color','r');
subplot(2,1,2);h1=ezplot(ft2i);title('逆变换后的时域信号');axis([-3 3 0 0.5]); grid on;
set(h1,'Color','c','LineWidth',2);%通过傅里叶反变换得到的图像验证
pause;

%7.2.4 验证傅立叶变换的尺度变换性质

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dt=0.1;
t1=-4:dt:4;
ft1=((1+cos(t1))/2).*(heaviside(t1+pi)-heaviside(t1-pi));%定义函数式ft1
ft2=((1+cos(2*t1))/2).*(heaviside(t1+0.5*pi)-heaviside(t1-0.5*pi));%定义函数式ft2
N=500;
k=-N:N;
W=pi*k/(N*dt);
Fw1=dt*ft1*exp(-1i*t1'*W);%分别对ft1和ft2进行傅里叶变换
Fw2=dt*ft2*exp(-1i*t1'*W);
figure(8);
h=figure(8);
set(h,'position', [0 0.1 0.5 0.8],'Units','normalized' );
set(h,'position', [0 0.1 0.5 0.8],'Units','normalized' );
set(h,'name','7.2.4 验证傅立叶变换的尺度变换性质');
subplot(2,1,1);plot(t1,ft1,'LineWidth',2); title('信号时域波形'); axis([-4 4 -0.1 1.1]); grid on;%绘制信号时域波形
subplot(2,1,2);plot(t1,ft2,'r','LineWidth',2); title('尺度变换后的时域波形');axis([-4 4 -0.1 1.1]); grid on;%绘制尺度变换后的信号时域波形
figure(9);
h=figure(9);
set(h,'position', [0.5 0.1 0.5 0.8],'Units','normalized' );
set(h,'position', [0.5 0.1 0.5 0.8],'Units','normalized' );
set(h,'name','7.2.4 验证傅立叶变换的尺度变换性质');
subplot(2,1,1);plot(W,real(Fw1),'LineWidth',2);title('信号的复合频谱');axis([-8 8 -0.6 3.5]); grid on;%绘制信号的复合频谱
subplot(2,1,2);plot(W,real(Fw2),'r','LineWidth',2);title('尺度变换后信号的复合频谱');axis([-8 8 -0.6 3.5]); grid on;%绘制尺度变换后的信号复合频谱
pause;

%7.3.2 幅度失真对听觉和视觉的影响

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
T=3;
Fs=40000;
t=0:1/Fs:T;
s1=sin(600*2*pi*t);%分别设置s1,s2,s3
s2=sin(850*2*pi*t);
s3=3*sin(850*2*pi*t);
s1s2=s1+s2;%定义函数之和的形式
s1s3=s1+s3;
figure(11); 
h=figure(11);
set(h,'position', [0.01 0.05 0.6 0.85],'Units','normalized' );
set(h,'position', [0.01 0.05 0.6 0.85],'Units','normalized' );
set(h,'name','7.3.2 幅度失真对听觉和视觉的影响');%绘制s1、s2、s3、s1s2、s1s3的时域图
subplot(511);plot(t(1:600),s1(1:600));axis([0,600/Fs,-3.7,3.7]);title('s1');
subplot(512);plot(t(1:600),s2(1:600));axis([0,600/Fs,-3.7,3.7]);title('s2');
subplot(513);plot(t(1:600),s3(1:600));axis([0,600/Fs,-3.7,3.7]);title('s3');
subplot(514);plot(t(1:600),s1s2(1:600));axis([0,600/Fs,-3.7,3.7]);title('s1s2');
subplot(515);plot(t(1:600),s1s3(1:600));axis([0,600/Fs,-3.7,3.7]);title('s1s3');
[R,C]=meshgrid(0:1/Fs:600/160000:1/Fs:600/160000);
s1i=sin(600*2*pi*R);%分别设置s1i,s2i,s3i
s2i=sin(850*2*pi*R);
s3i=3*sin(850*2*pi*R);
s1s2i=sin(600*2*pi*R)+sin(850*2*pi*R);
s1s3i=sin(600*2*pi*R)+3*sin(850*2*pi*R);
figure(13);
h=figure(13);
set(h,'position', [0.62 0.05 0.37 0.85],'Units','normalized' );
set(h,'position', [0.62 0.05 0.37 0.85],'Units','normalized' );
set(h,'name','7.3.2 幅度失真对听觉和视觉的影响');
subplot(5,1,1),imshow(s1i(1:30,:)/3,[0,1]);title('s1i')
subplot(5,1,2),imshow(s2i(1:30,:)/3,[0,1]);title('s2i') 
subplot(5,1,3),imshow(s3i(1:30,:),[]);title('s3i') 
subplot(5,1,4),imshow(s1s2i(1:30,:),[]);title('s1s2i'); 
subplot(5,1,5),imshow(s1s3i(1:30,:),[]);title('s1s3i'); 
pause;
figure(11);
subplot(514);plot(t(1:600),s1s2(1:600),'r');axis([0,600/Fs,-3.7,3.7]);title('s1s2');
figure(13); %以声音的形式将信号的方式展现
subplot(5,1,4),imshow(mat2gray(s1s2i(1:30,:))*64,spring);title('s1s2i'); 
sound(s1s2,Fs);
pause(4);
figure(11);
subplot(514);plot(t(1:600),s1s2(1:600));axis([0,600/Fs,-3.7,3.7]);title('s1s2');
figure(13);
subplot(5,1,4),imshow(s1s2i(1:30,:),[]);title('s1s2i'); 
figure(11);
subplot(515);plot(t(1:600),s1s3(1:600),'r');axis([0,600/Fs,-3.7,3.7]);title('s1s3');
figure(13);
subplot(5,1,5),imshow(mat2gray(s1s3i(1:30,:))*64,spring);title('s1s3i'); 
sound(s1s3,Fs);
pause(4);
figure(11);
subplot(515);plot(t(1:600),s1s3(1:600));axis([0,600/Fs,-3.7,3.7]);title('s1s3');
figure(13);
subplot(5,1,5),imshow(s1s3i(1:30,:),[]);title('s1s3i'); 
pause;

%7.3.3 相位失真对听觉和视觉的影响

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
T=3;
Fs=40000;
t=0:1/Fs:T;
s1=sin(600*2*pi*t);%分别设置s1,s2,s3以及函数之和
s2=sin(850*2*pi*t);
s3=sin(850*2*pi*t-0.7);
s1s2=s1+s2;
s1s3=s1+s3;
figure(14); 
h=figure(14);
set(h,'position', [0.01 0.05 0.6 0.85],'Units','normalized' );
set(h,'position', [0.01 0.05 0.6 0.85],'Units','normalized' );
set(h,'name','7.3.3 相位失真对听觉和视觉的影响');
subplot(511);plot(t(1:600),s1(1:600));axis([0,600/Fs,-3.7,3.7]);title('s1');
subplot(512);plot(t(1:600),s2(1:600));axis([0,600/Fs,-3.7,3.7]);title('s2');
subplot(513);plot(t(1:600),s3(1:600));axis([0,600/Fs,-3.7,3.7]);title('s3');
subplot(514);plot(t(1:600),s1s2(1:600));axis([0,600/Fs,-3.7,3.7]);title('s1s2');
subplot(515);plot(t(1:600),s1s3(1:600));axis([0,600/Fs,-3.7,3.7]);title('s1s3');
[R,~]=meshgrid(0:1/Fs:600/160000:1/Fs:600/160000);
s1i=sin(600*2*pi*R);%分别设置s1i,s2i,s3i以及函数之和
s2i=sin(850*2*pi*R);
s3i=sin(850*2*pi*R-0.7);
s1s2i=sin(600*2*pi*R)+sin(850*2*pi*R);
s1s3i=sin(600*2*pi*R)+3*sin(850*2*pi*R-0.7);
figure(16);
h=figure(16);
set(h,'position', [0.62 0.05 0.37 0.85],'Units','normalized' );
set(h,'position', [0.62 0.05 0.37 0.85],'Units','normalized' );
set(h,'name','7.3.3 相位失真对听觉和视觉的影响');
subplot(5,1,1),imshow(s1i(1:30,:),[0,1]);title('s1i')%分别绘制图像
subplot(5,1,2),imshow(s2i(1:30,:),[0,1]);title('s2i') 
subplot(5,1,3),imshow(s3i(1:30,:),[]);title('s3i') 
subplot(5,1,4),imshow(s1s2i(1:30,:),[]);title('s1s2i'); 
subplot(5,1,5),imshow(s1s3i(1:30,:),[]);title('s1s3i'); 
pause;
figure(14);
subplot(514);plot(t(1:600),s1s2(1:600),'r');axis([0,600/Fs,-3.7,3.7]);title('s1s2');
figure(16);
subplot(5,1,4),imshow(mat2gray(s1s2i(1:30,:))*64,spring);title('s1s2i'); 
sound(s1s2,Fs);
pause(4);
figure(14);
subplot(514);plot(t(1:600),s1s2(1:600));axis([0,600/Fs,-3.7,3.7]);title('s1s2');
figure(16);
subplot(5,1,4),imshow(s1s2i(1:30,:),[]);title('s1s2i'); 
figure(14);
subplot(515);plot(t(1:600),s1s3(1:600),'r');axis([0,600/Fs,-3.7,3.7]);title('s1s3');
figure(16);
subplot(5,1,5),imshow(mat2gray(s1s3i(1:30,:))*64,spring);title('s1s3i'); 
sound(s1s3,Fs);
pause(4);
figure(14);
subplot(515);plot(t(1:600),s1s3(1:600));axis([0,600/Fs,-3.7,3.7]);title('s1s3');
figure(16);
subplot(5,1,5),imshow(s1s3i(1:30,:),[]);title('s1s3i'); 
pause;

%7.4.2 对音频信号时移,与原信号在时域上和频域上进行比较

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Fs=8000;
[testsou1,Fs1]=audioread('aud1.mp3');%读入音频
testsou1=testsou1(:,1);%对音频进行切分
testsou1=resample(testsou1,Fs,Fs1);%改变其维度
tem=testsou1(120000:120000+5*8000-1);
A1=tem;
A2=[zeros(Fs,1);A1];%时移一秒
A=[A1;zeros(Fs,1)];
Af=fft(A,Fs*5);  %使用快速傅里叶卷积函数
A2f=fft(A2,Fs*5);
figure(18);
h=figure(18);
set(h,'position', [0.51 0.05 0.48 0.85],'Units','normalized' );
set(h,'position', [0.51 0.05 0.48 0.85],'Units','normalized' );
set(h,'name','7.4.2 对音频信号时移,与原信号在时域上和频域上进行比较');
subplot(2,1,1), plot([1:round(Fs*5/2)],abs(Af(1:round(Fs*5/2)))); title('Af')% 绘制其图像
subplot(2,1,2), plot([1:round(Fs*5/2)],abs(A2f(1:round(Fs*5/2)))); title('A2f')
figure(17);
h=figure(17);
set(h,'position', [0.01 0.05 0.48 0.85],'Units','normalized' );
set(h,'position', [0.01 0.05 0.48 0.85],'Units','normalized' );
set(h,'name','7.4.2 对音频信号时移,与原信号在时域上和频域上进行比较');
subplot(2,1,1), plot(A), axis([0,numel(A), -1, 1]);grid on;title('A')% 绘制其图像
subplot(2,1,2), plot(A2), axis([0,numel(A2), -1, 1]);grid on;title('A2')
pause;
sound([A,A2],Fs);
subplot(2,1,1), plot(A,'r'), axis([0,numel(A), -1, 1]);grid on;title('A')% 绘制其图像
subplot(2,1,2), plot(A2,'r'), axis([0,numel(A2), -1, 1]);grid on;title('A2')
pause(6.6);
subplot(2,1,1), plot(A), axis([0,numel(A), -1, 1]);grid on;title('A')% 绘制其图像
subplot(2,1,2), plot(A2), axis([0,numel(A2), -1, 1]);grid on;title('A2')
pause;

%7.4.3 对音频信号进行尺度变换,与原信号在时域上和频域上进行比较

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Fs=8000;
[testsou1,Fs1]=audioread('aud1.mp3');%读取音频
testsou1=testsou1(:,1);%对音频进行切分
testsou1=resample(testsou1,Fs,Fs1);%改变按采样率,实现抽取和内插的操作
tem=testsou1(120000:120000+5*8000-1);
A1=tem;
A3=resample(A1,numel(A1)*0.6,numel(A1));%尺度变换a=1/0.6
A1f=fft(A1,Fs*5); %使用快速傅里叶变换函数
A3f=fft(A3,Fs*5);
figure(20);
h=figure(20);
set(h,'position', [0.51 0.05 0.48 0.85],'Units','normalized' );
set(h,'position', [0.51 0.05 0.48 0.85],'Units','normalized' );
set(h,'name','7.4.3 对音频信号进行尺度变换,与原信号在时域上和频域上进行比较');
subplot(2,1,1), plot([1:round(Fs*5/2)],abs(A1f(1:round(Fs*5/2)))); title('A1f')%对得到的图像进行绘制
subplot(2,1,2), plot([1:round(Fs*5/2)],abs(A3f(1:round(Fs*5/2)))); title('A3f')
figure(19);
h=figure(19);
set(h,'position', [0.01 0.05 0.48 0.85],'Units','normalized' );
set(h,'position', [0.01 0.05 0.48 0.85],'Units','normalized' );
set(h,'name','7.4.3 对音频信号进行尺度变换,与原信号在时域上和频域上进行比较');
subplot(2,1,1), plot(A1), axis([0,numel(A1), -1, 1]);grid on;title('A1') %对得到的图像进行绘制

subplot(2,1,2), plot(A3), axis([0,numel(A1), -1, 1]);grid on;title('A3')
pause;
sound(A1,Fs);
subplot(2,1,1), plot(A1,'r'), axis([0,numel(A1), -1, 1]);grid on;title('A1')
pause(5)
subplot(2,1,1), plot(A1), axis([0,numel(A1), -1, 1]);grid on;title('A1') %对得到的图像进行绘制

pause(1.5)
sound(A3,Fs);
subplot(2,1,2), plot(A3,'r'), axis([0,numel(A1), -1, 1]);grid on;title('A3')
pause(4)
subplot(2,1,2), plot(A3), axis([0,numel(A1), -1, 1]);grid on;title('A3')
pause;

%7.4.4 对音频信号分别进行一次微分和二次微分操作,比较这两个信号与原信号的幅度谱和声音的变化。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Fs=8000;
[testsou1,Fs1]=audioread('aud1.mp3');%读入音频
testsou1=testsou1(:,1);%对音频进行切分
testsou1=resample(testsou1,Fs,Fs1);%进行抽样
tem=testsou1(120000:120000+5*8000-1);
A1=tem;
A4=[0;A1(1:end-1)]-A1; %求一次导数
A5=[0;A4(1:end-1)]-A4; %求二次导数
A1f=fft(A1,Fs*5);
A4f=fft(A4,Fs*5);
A5f=fft(A5,Fs*5);
figure(21);
h=figure(21);
set(h,'position', [0.1 0.05 0.8 0.85],'Units','normalized' );
set(h,'position', [0.1 0.05 0.8 0.85],'Units','normalized' );
set(h,'name','对音频信号分别进行一次微分和二次微分操作');
subplot(3,1,1), plot([1:round(Fs*5/2)],abs(A1f(1:round(Fs*5/2)))); title('A1f')%对音频信号分别进行一次微分和二次微分操作并绘制图像
subplot(3,1,2), plot([1:round(Fs*5/2)],abs(A4f(1:round(Fs*5/2)))); title('A4f')
subplot(3,1,3), plot([1:round(Fs*5/2)],abs(A5f(1:round(Fs*5/2)))); title('A5f')
pause;
sound(A1,Fs);
subplot(3,1,1), plot([1:round(Fs*5/2)],abs(A1f(1:round(Fs*5/2))),'r'); title('A1f')
pause(6)
subplot(3,1,1), plot([1:round(Fs*5/2)],abs(A1f(1:round(Fs*5/2)))); title('A1f')
pause(0.5)
sound(A4,Fs);
subplot(3,1,2), plot([1:round(Fs*5/2)],abs(A4f(1:round(Fs*5/2))),'r'); title('A4f')
pause(6)
subplot(3,1,2), plot([1:round(Fs*5/2)],abs(A4f(1:round(Fs*5/2)))); title('A4f')
pause(0.5)
sound(A5,Fs);
subplot(3,1,3), plot([1:round(Fs*5/2)],abs(A5f(1:round(Fs*5/2))),'r'); title('A5f')
pause(6)
subplot(3,1,3), plot([1:round(Fs*5/2)],abs(A5f(1:round(Fs*5/2)))); title('A5f')
pause;

%7.4.5 对音频信号的傅立叶变换进行频移1Hz操作,比较其时域波形和声音的变化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Fs=8000;
[testsou1,Fs1]=audioread('aud1.mp3');%读入音频
testsou1=testsou1(:,1);%对音频进行切分
testsou1=resample(testsou1,Fs,Fs1);%取样
tem=testsou1(120000:120000+5*8000-1);
A1=tem;
Af=fft(A1);%使用快速傅里叶变换函数
Afsh=[zeros(round(numel(Af)/Fs),1);Af(1:round(numel(Af)/2));...
    Af(round(numel(Af)/2)+1:end);zeros(round(numel(Af)/Fs),1)];%频域1Hz
Ash=ifft(Afsh,40000);%频移后的时域信号,逆变换
figure(22);
h=figure(22);
set(h,'position', [0.01 0.05 0.48 0.85],'Units','normalized' );
set(h,'position', [0.01 0.05 0.48 0.85],'Units','normalized' );
set(h,'name','7.4.5 对音频信号的傅立叶变换进行频移1Hz操作');
subplot(2,1,1), plot(A1), axis([0,numel(A1), -1, 1]);grid on;title('A1')
subplot(2,1,2), plot(real(Ash)), axis([0,numel(A1), -1, 1]);grid on;title('Ash')
figure(23);
h=figure(23);
set(h,'position', [0.51 0.05 0.48 0.85],'Units','normalized' );
set(h,'position', [0.51 0.05 0.48 0.85],'Units','normalized' );
plot([200:450],abs(Af(200:450)),'k');
hold on
plot([200:450],abs(Afsh(200:450)),'m','LineWidth',2);
grid on;
title('Af and Afsh')
pause;
sound(A1,Fs);
figure(22);
subplot(2,1,1), plot(A1,'r'), axis([0,numel(A1), -1, 1]);grid on;title('A1')%绘制其图像
pause(5)
subplot(2,1,1), plot(A1), axis([0,numel(A1), -1, 1]);grid on;title('A1')
pause(1)
sound(real(Ash),Fs);
subplot(2,1,2), plot(real(Ash),'r'), axis([0,numel(A1), -1, 1]);grid on;title('Ash')
pause(5)
subplot(2,1,2), plot(real(Ash)), axis([0,numel(A1), -1, 1]);grid on;title('Ash')
pause; 

%7.5 看见声音

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[testsou,Fs1]=audioread('aud1.mp3');%读入音频文件
testsou1=testsou(:,1);%对音频进行切分
Ig1=reshape(testsou1(1:100000),[250,400]); %对生成的矩阵重组为新矩阵
Ig1f=fft(testsou1,10000);%对其进行快速傅里叶变换
noise1=randn(100000,1);%生成噪声
ng1=reshape(noise1,[250,400]);%对噪声进行重组为新矩阵
ng1f=fft(noise1,10000);%对其进行快速傅里叶变换
figure(24);
h=figure(24);
set(h,'position', [0.1 0.05 0.8 0.85],'Units','normalized' );%绘制音频灰度值图
set(h,'position', [0.1 0.05 0.8 0.85],'Units','normalized' );
set(h,'name','7.5 看见声音');
subplot(2,2,1),imshow(Ig1,[]);title('Ig1')
subplot(2,2,2),imshow(ng1,[]);title('ng1')
subplot(2,2,3),plot(abs(Ig1f(1:5000)));title('Ig1f')
subplot(2,2,4),plot(abs(ng1f(1:5000)));title('ng1f')
pause;
sound([Ig1(:);zeros(40000,1);0.2*ng1(1:size(ng1,2)*size(ng1,1)*0.75)'],Fs1);  %顺序播放乐音和噪声
subplot(2,2,1),imshow(mat2gray(Ig1)*64,summer);title('Ig1');
pause(5);
subplot(2,2,1),imshow(Ig1,[]);title('Ig1');
pause(1);
sound(0.2*ng1(1:size(ng1,2)*size(ng1,1)*0.75),Fs1);  %顺序播放乐音和噪声
subplot(2,2,2),imshow(mat2gray(ng1)*64,summer);title('ng1');
pause(4);
subplot(2,2,2),imshow(ng1,[]);title('ng1');
pause;

%7.6 听见图像

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function g=gscale(f,varargin)  %对gscale函数进行定义
if length(varargin)==0
    method='full8';
else method=varargin{1};
end
if strcmp(class(f),'double') & (max(f(:))>1 || min(f(:))<0)
    f=mat2gray(f);
end
switch method
    case 'full8'
        g=im2uint8(mat2gray(double(f)));
    case 'full16'
        g=im2uint16(mat2gray(double(f)));
    case 'minmax'
        low = varargin{2};
        high = varargin{3};
        if low>1 || low<0 || high>1 || high<0
            error('Parameters low and high must be in the range [0,1]')
        end
        if strcmp(class(f),'double')
            low_in=min(f(:));
            high_in=max(f(:));
        elseif strcmp(class(f),'uint8')
            low_in=double(min(f(:)))./255;
            high_in=double(max(f(:)))./255;
        elseif strcmp(class(f),'uint16')
            low_in=double(min(f(:)))./65535;
            high_in=double(max(f(:)))./65535;
        end
        g=imadjust(f,[low_in high_in],[low high]);
    otherwise
        error('Unknown method')
end

Fs=8000;
I1=imread('DSC_0333.JPG');%读入图片
%I2=imread('纹理7.JPG');
[R, C]=meshgrid(-2:0.01:2,-2:0.01:2);
u0=5*pi; v0=2*pi; A=1;
f1 = A*sin(u0*R + v0*C);%分别对f1,f2,f3进行定义
f2 = A*sin(u0*R) + A*sin(v0*C);
f3 = A*sin(u0*sqrt(R.^2+C.^2));
Ig2=gscale(f2);  %利用上面定义的函数对输入图像标度
Ig1=rgb2gray(I1);%RGB图像转为灰度图像
Ig1=mat2gray(Ig1);%对图像矩阵的归一化
Ig1=imresize(Ig1,[400,800]);%修改尺寸
%Ig2=rgb2gray(I2);
Ig2=mat2gray(Ig2);
Ig2=imresize(Ig2,[400,800]);
Ig2fil=imfilter(Ig2,ones(15)/225); %采用滤波操作
Ig3=randn(400,800);
figure(25),
h=figure(25);
set(h,'position', [0.1 0.05 0.8 0.85],'Units','normalized' );
set(h,'position', [0.1 0.05 0.8 0.85],'Units','normalized' );
set(h,'name','7.6 听见图像');
subplot(3,1,1),imshow(Ig1,[]);title('Ig1')
subplot(3,1,2),imshow(Ig2,[]);title('Ig2')
subplot(3,1,3),imshow(Ig3,[]);title('Ig3')
pause;
sound([Ig1(:);zeros(40000,1);Ig2fil(:);zeros(40000,1);0.2*Ig3(:)],Fs*8);
subplot(3,1,1),imshow(mat2gray(Ig1)*64,summer);title('Ig1')%绘制其图像
pause(5.6);
subplot(3,1,1),imshow(Ig1,[]);title('Ig1')
subplot(3,1,2),imshow(mat2gray(Ig2)*64,summer);title('Ig2')
pause(5.4);
subplot(3,1,2),imshow(Ig2,[]);title('Ig2')
subplot(3,1,3),imshow(mat2gray(Ig3)*64,summer);title('Ig3')
pause(5.5);
subplot(3,1,3),imshow(Ig3,[]);title('Ig3')

【实验感悟】

通过这次实验,我学会了对函数的对数幅频特性与相频特性绘制并对信号抽样与对抽样信号的频谱分析,以及对抽样后的信号进行重建。并且通过实验,我加深了对于信号处理这门课的理解,通过形象的方式了解到信号的特点,其中有音频信号,也有图像信号。对于信号的重构让我看到了乐音与噪声的不同之处,通过实验让我更加形象地理解了任何周期信号都可以分解成正弦信号加权的形式。而且本次实验也让我从不同的维度上(音频、图像等等)对于高频信号与低频信号有了更加深刻的理解。此外,我还通过查找文档文献的方法掌握了与信号处理相关的函数的使用方法,例如 imshow(I,[low high])函数用来显示灰度图像I,以二元素向量 [low high] 形式指定显示范围,y = resample(x,p,q)使用多相滤波器实现对矢量X中的序列在原始采样率的P/Q倍上重新采样,reshape函数将原矩阵重组为新矩阵,fft快速傅里叶卷积函数等等,这也让我从工程技能上有所收获。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
带掩码的自编码器(MAE)最新的相关论文推荐
Yijun Tian, Kaiwen Dong, Chunhui Zhang, Chuxu Zhang, Nitesh V. Chawla
deephub
2022/11/11
7330
带掩码的自编码器(MAE)最新的相关论文推荐
自监督学习系列(四):基于蒸馏的图片掩码学习
好久不见!自监督学习系列文章继续更新啦!在前几期的文章中,我们介绍了基于辅助任务、对比学习以及图片掩码学习的自监督学习范式 。快来复习一下!
OpenMMLab 官方账号
2022/12/30
9630
自监督学习系列(四):基于蒸馏的图片掩码学习
GraphMAE:将MAE的方法应用到图中使图的生成式自监督学习超越了对比学习
前几天的文章中我们提到MAE在时间序列的应用,本篇文章介绍的论文已经将MAE的方法应用到图中,这是来自[KDD2022]的论文GraphMAE: Self-supervised Masked Graph Autoencoders
deephub
2022/11/11
8020
GraphMAE:将MAE的方法应用到图中使图的生成式自监督学习超越了对比学习
见微知著,掩码自监督学习让你一叶知秋
在前面的两篇文章中,我们介绍了基于各类代理任务 (Pretext Task) 和基于对比学习 (Contrastive Learning) 的自监督学习算法。
OpenMMLab 官方账号
2022/04/08
2.4K0
见微知著,掩码自监督学习让你一叶知秋
CVPR 2023 | HPM:在掩码学习中挖掘困难样本,带来稳固性能提升!
来源:Paper Weekly本文约3000字,建议阅读5分钟本文介绍了一篇在自监督掩码学习(Masked Image Modeling)领域的原创工作 HPM (Hard Patches Mining for Masked Image Modeling)。  各种自监督掩码学习方法的性能强烈依赖于人工定义的掩码策略,而我们提出一种新的困难样本挖掘策略,让模型自主地掩码困难样本,提升代理任务的难度,从而获得强大的表征提取能力。目前 HPM 已被 CVPR 2023 接收,相关代码已开源,有任何问题欢迎在 G
数据派THU
2023/05/11
2810
CVPR 2023 | HPM:在掩码学习中挖掘困难样本,带来稳固性能提升!
​HOG特征也可以作为图像重建的目标!FAIR&JHU提出新的one-stage自监督预训练模型MaskFeat!
在本文中,作者提出了用于视频模型自监督预训练的掩蔽特征预测(Masked Feature Prediction,MaskFeat)。本文的方法首先随机掩蔽输入序列的一部分,然后预测掩蔽区域的特征。
CV君
2022/01/20
5020
​HOG特征也可以作为图像重建的目标!FAIR&JHU提出新的one-stage自监督预训练模型MaskFeat!
带掩码的自编码器MAE在各领域中的应用总结
机器学习算法应该理解数据从中提取有用的特征才能够解决复杂的任务。通常训练泛化模型需要大量带注释的数据。这个是非常费时费力的,并且一般情况下都很难进行。
deephub
2022/11/11
8030
带掩码的自编码器MAE在各领域中的应用总结
带掩码的自编码器MAE详解和Pytorch代码实现
监督学习是训练机器学习模型的传统方法,它在训练时每一个观察到的数据都需要有标注好的标签。如果我们有一种训练机器学习模型的方法不需要收集标签,会怎么样?如果我们从收集的相同数据中提取标签呢?这种类型的学
deephub
2021/12/15
3.7K0
带掩码的自编码器MAE详解和Pytorch代码实现
何恺明时隔2年再发一作论文:为视觉大模型开路,“CVPR 2022最佳论文候选预定”
甚至在业内纷纷追求“大力出奇迹”、“暴力美学”的当下,何恺明还带着一种坚持独立思考的反共识气概。
量子位
2021/11/16
7360
续何恺明的MAE后!MSRA提出掩码图像建模新框架:SimMIM
本文提出一个用于掩码图像建模(masked image modeling)的简单框架SmiMIM。作者简化了最近提出的方法,而无需任何特殊设计,如利用离散VAE或聚类进行块级别的掩码和分词。为了让掩码图像建模任务能学到更好的表示,作者表示该框架中每个组件的简单设计已经能显示出其优异的学习能力:
Amusi
2021/12/01
1K0
续何恺明的MAE后!MSRA提出掩码图像建模新框架:SimMIM
Meta 自监督学习 I-JEPA 论文笔记
I-JEPA ( Image Joint Embedding Predictive Architecture ) 是一种自监督学习框架,结合了 联合嵌入架构 (Joint-Embedding Architecture) 和 生成架构 (Generative Architecture) 的特性提出。
为为为什么
2023/06/27
8900
Meta 自监督学习 I-JEPA 论文笔记
ConvNeXt V2:适应自监督学习,让 CNN “再一次强大”?
嗨!今天给大家分享一篇比较新的计算机视觉论文,题目是“ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders”。这篇论文由韩国科学技术院(KAIST)、Meta AI 和纽约大学的研究者合作发表,论文和代码的链接放在下方。
OpenMMLab 官方账号
2023/08/23
3.7K0
ConvNeXt V2:适应自监督学习,让 CNN  “再一次强大”?
Multi-modal Multi-task Masked Autoencoder:一种简单、灵活且有效的 ViT 预训练策略
MAE是一种使用自监督预训练策略的ViT,通过遮蔽输入图像中的补丁,然后预测缺失区域进行子监督的与训练。尽管该方法既简单又有效,但 MAE 预训练目标目前仅限于单一模态——RGB 图像——限制了在通常呈现多模态信息的实际场景中的应用和性能。
deephub
2022/04/14
3220
Multi-modal Multi-task Masked Autoencoder:一种简单、灵活且有效的 ViT 预训练策略
CVPR 2023 | 美团技术团队精选论文解读
本文精选了美团技术团队被CVPR 2023收录的8篇论文进行解读。这些论文既有自监督学习、领域自适应、联邦学习等通用学习范式方面的技术迭代,也涉及目标检测、跟踪、分割、Low-level Vision等典型视觉任务的性能,体现了美团在基础通用技术和垂直领域技术上的全方位创新。这些论文也是美团技术团队与国内多所高校、科研机构合作的成果。希望给从事相关研究工作的同学带来一些启发或者帮助。
美团技术团队
2023/09/05
8920
CVPR 2023 | 美团技术团队精选论文解读
5个时间序列预测的深度学习模型对比总结:从模拟统计模型到可以预训练的无监督模型(附代码)
来源:DeepHub IMBA本文约6700字,建议阅读12分钟本文讨论了5种专门研究时间序列预测的深度学习体系结构。 时间序列预测在最近两年内发生了巨大的变化,尤其是在kaiming的MAE出现以后,现在时间序列的模型也可以用类似MAE的方法进行无监督的预训练。 Makridakis M-Competitions系列(分别称为M4和M5)分别在2018年和2020年举办(M6也在今年举办了)。对于那些不了解的人来说,m系列得比赛可以被认为是时间序列生态系统的一种现有状态的总结,为当前得预测的理论和实践提供
数据派THU
2022/08/29
1.2K0
5个时间序列预测的深度学习模型对比总结:从模拟统计模型到可以预训练的无监督模型(附代码)
自监督学习如何兼顾语义对齐与空间分辨能力?清华、商汤提出「SIM」方法
机器之心专栏 机器之心编辑部 对于本文提出的全新自监督学习方法 Siamese Image Modeling 中,网络从同一图像的遮盖视图预测另一个增强视图的密集特征,使其兼顾 Instance Discrimination 方法的语义对齐能力和 Masked Image Modeling 方法的空间分辨能力。 论文链接:https://arxiv.org/abs/2206.01204 自监督学习长久以来都是视觉领域努力追求的目标,它能够帮助我们利用大量的无标注数据,并且推动了很多下游任务的进步。 为了有
机器之心
2022/06/08
4030
自监督学习如何兼顾语义对齐与空间分辨能力?清华、商汤提出「SIM」方法
【论文复现】掩码自回归编码器
掩码自动编码器MAE是一种可扩展的计算机视觉自监督学习器。MAE的基本思路是:屏蔽输入图像的随机补丁,并重建丢失的像素,它基于两个核心设计。
Eternity._
2024/12/24
1360
【论文复现】掩码自回归编码器
业界干货 | 图解自监督学习,从入门到专家必读的九篇论文
如果人工智能比作一块蛋糕,那么蛋糕的大部分是自监督学习,蛋糕上的糖衣是监督学习,蛋糕上的樱桃是强化学习。
对白
2022/04/01
7410
业界干货 | 图解自监督学习,从入门到专家必读的九篇论文
CVPR 2023: Stare at What You See讲解
标题:Stare at What You See: Masked Image Modeling without Reconstruction
BBuf
2023/08/25
3700
CVPR 2023: Stare at What You See讲解
NeurIPS 2022 | VideoMAE:掩蔽自编码器是自监督视频预训练的高效数据学习器
Transformer在自然语言处理方面取得了极大成功,而ViT将Transformer改进到了一系列计算机视觉任务上,包括图像分类、对象检测、语义分割等,同样取得了令人印象深刻的结果。而训练一个高效的ViT通常需要大规模的有监督数据集,预训练的ViT通过使用数亿张标记图像来获得良好的性能。对于视频任务中的Transformer,它们通常基于图像任务中的Transformer,并且在很大程度上依赖于来自大规模图像数据的预训练模型(例如在ImageNet上进行预训练)。
用户1324186
2024/05/31
2930
NeurIPS 2022 | VideoMAE:掩蔽自编码器是自监督视频预训练的高效数据学习器
推荐阅读
带掩码的自编码器(MAE)最新的相关论文推荐
7330
自监督学习系列(四):基于蒸馏的图片掩码学习
9630
GraphMAE:将MAE的方法应用到图中使图的生成式自监督学习超越了对比学习
8020
见微知著,掩码自监督学习让你一叶知秋
2.4K0
CVPR 2023 | HPM:在掩码学习中挖掘困难样本,带来稳固性能提升!
2810
​HOG特征也可以作为图像重建的目标!FAIR&JHU提出新的one-stage自监督预训练模型MaskFeat!
5020
带掩码的自编码器MAE在各领域中的应用总结
8030
带掩码的自编码器MAE详解和Pytorch代码实现
3.7K0
何恺明时隔2年再发一作论文:为视觉大模型开路,“CVPR 2022最佳论文候选预定”
7360
续何恺明的MAE后!MSRA提出掩码图像建模新框架:SimMIM
1K0
Meta 自监督学习 I-JEPA 论文笔记
8900
ConvNeXt V2:适应自监督学习,让 CNN “再一次强大”?
3.7K0
Multi-modal Multi-task Masked Autoencoder:一种简单、灵活且有效的 ViT 预训练策略
3220
CVPR 2023 | 美团技术团队精选论文解读
8920
5个时间序列预测的深度学习模型对比总结:从模拟统计模型到可以预训练的无监督模型(附代码)
1.2K0
自监督学习如何兼顾语义对齐与空间分辨能力?清华、商汤提出「SIM」方法
4030
【论文复现】掩码自回归编码器
1360
业界干货 | 图解自监督学习,从入门到专家必读的九篇论文
7410
CVPR 2023: Stare at What You See讲解
3700
NeurIPS 2022 | VideoMAE:掩蔽自编码器是自监督视频预训练的高效数据学习器
2930
相关推荐
带掩码的自编码器(MAE)最新的相关论文推荐
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • 【实验目的】
  • 【实验设备】
  • 【实验内容】
    • 1.某系统的频响函数
    • 3.已知信号为
    •  4.对题3获得的抽样信号,采用截止频率为4pi的低通滤波器对其滤波后重建信号f(t),并计算重建信号与原升余弦脉冲信号的绝对误差。
      • % 7.1.2 分别采用前 4、40、400 项,画出周期矩形脉冲信号的近似图
      • %7.1.4 任意周期信号的周期核函数傅立叶系数的计算及重构算法时间渐进合成演示
      •  %7.2.2 比较非周期信号傅立叶变换与周期信号傅立叶系数的关系
      • %7.2.3 用MATLAB符号运算函数fourier求解下列信号的傅立叶变换,并用ifourier验证
      • %7.3.2 幅度失真对听觉和视觉的影响
      • %7.3.3 相位失真对听觉和视觉的影响
      • %7.4.2 对音频信号时移,与原信号在时域上和频域上进行比较
      • %7.4.3 对音频信号进行尺度变换,与原信号在时域上和频域上进行比较
      • %7.4.4 对音频信号分别进行一次微分和二次微分操作,比较这两个信号与原信号的幅度谱和声音的变化。
      • %7.4.5 对音频信号的傅立叶变换进行频移1Hz操作,比较其时域波形和声音的变化
      • %7.5 看见声音
      • %7.6 听见图像
  • 【实验感悟】
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档