信号与系统实验八 音频信号的时域、频域观测分析与图像的幅频相频重构
目录
【实验目的】
【实验原理】
【实验设备】
【实验内容】
1、用MATLAB 读入一段声音信号,观察其幅频特征和相频特征,并分别设计实现。
(1)对声音信号时域压缩,观察其幅频特性的变换;
(2)对声音信号时域开展,观察其幅频特性的变换。
2、用MATLAB 读入一幅图像,观察其幅频特征和相频特征,并分别设计实现。
(1)仅由图像频谱的幅度谱恢复图像;
(2)仅由图像频谱的相位谱恢复图像;
【实验感悟】
【实验目的】
学习运用MATLAB读入并分析音频信号。
【实验原理】
音频信号是一种连续变化的模拟信号,计算机只能处理和记录二进制的数字信号,由自然音源而得到的音频信号必须经过采样、量化和编码,变成二进制数据后才能送到计算机进行再编辑和存储。
【实验设备】
(1)计算机
(2)MATLAB软件
【实验内容】
1、用MATLAB 读入一段声音信号,观察其幅频特征和相频特征,并分别设计实现。
clc;clear all;close all;
[x,fs]=audioread('E:\test.mp3');%用函数打开文件,获取声音信号的x采样数据fs为采样频率
x=x(:,1);%由于x是双声道,所以取它的左声道
n=length(x);%获取x的采样点数
dt=1/fs;%求采样间隔
time=(0:n-1)*dt;%采样时间点
sound(x,fs);figure(1)
plot(time,x);grid on
title('声音信号时域波形')
xlabel('时间');
axis([0,max(time),min(x),max(x)]);X=fft(x,fs);%对采样信号做傅里叶分析X是傅里叶变换
n=length(X);%频域采样点
df=fs/n;%频域采样间隔
f=(0:1:n-1)*df;df=fs/n;%频域采样间隔f=(0:1:n-1)*df;%频域采样点
absX=abs(X); angX=angle(X);figure(2)
subplot(211)
plot(f,absX);grid on
title('声音信号幅度谱');
xlabel('频率');ylabel('幅度');
axis([0,4000,0,max(absX)]);
subplot(212);
plot(f,angX);grid on
title('声音信号相位谱');
xlabel('频率');ylabel('相位');
axis([0,4000,min(angX),max(angX)]);a=diff(x);
n=length(a);%获取的x的采样点数
dt=1/fs;%求采样间隔
time=(0:n-1)*dt;%采样时间点
sound(a,fs);
figure(3)
plot(time,a);grid on
title('信号微分后的波形');A=fft(a,fs);%对采样信号做傅里叶分析,A是傅里叶变换
n=length(X);%获取x的点数
df=fs/n;%频域采样间隔
f=(0:1:n-1)*df;%频域采样点
absA=abs(A);angA=angle(A);%求幅度求相位figure(4)
subplot(211);
plot(f,absA);grid on
title('声音信号微分后的幅度谱');
xlabel('频率');ylabel('幅度');
axis([0,max(f)/2,0,max(absA)]);
subplot(212);
plot(f,angA);grid on
title('声音信号微分后的相位谱');
xlabel('频率');ylabel('相位');
axis([0,max(f)/2,min(angA),max(angA)]);
运行结果如下:
(1)对声音信号时域压缩,观察其幅频特性的变换;
clc;clear all;close all;
[x,fs]=audioread('E:\test.mp3'); %用函数打开文件,获取声音信号的x采样数据fs为采样频率
x=x(:,1);%由于x是双声道,所以取它的左声道
n=length(x);%获取x的采样点数
fs=fs*4;%将图像压缩的倍数为4
dt=1/fs;%求采样间隔
time=(0:n-1)*dt;%采样时间点
sound(x,fs);figure(1)
plot(time,x);grid on%绘制图像一
title('时域压缩后声音信号时域波形')
xlabel('时间');
axis([0,max(time),min(x),max(x)]);X=fft(x,fs);%对采样信号做傅里叶分析,X是傅里叶变换
n=length(X);%获取x的点数
df=fs/n;%频域采样间隔
f=(0:1:n-1)*df;%频域采样点
absX=abs(X); angX=angle(X);%求幅度和相位figure(2)
subplot(211)%绘制图像二
plot(f,absX);grid on
title('时域压缩后声音信号幅度谱');
xlabel('频率');ylabel('幅度');
axis([0, 3000,0,max(absX)]);
subplot(212);
plot(f,angX);grid on
title('时域压缩后声音信号相位谱');
xlabel('频率');ylabel('相位');
axis([0, 3000,min(angX),max(angX)]);
(2)对声音信号时域开展,观察其幅频特性的变换。
clc;clear all;close all;
[x,fs]=audioread('E:\test.mp3'); %用函数打开文件,获取声音信号的x采样数据fs为采样频率
x=x(:,1);%由于x是双声道,所以取它的左声道
n=length(x);%获取x的采样点数
fs=fs/6;%将图像展开的倍数为6
dt=1/fs;%求采样间隔
time=(0:n-1)*dt;%采样时间点
sound(x,fs);figure(1)
plot(time,x);grid on%绘制图像一
title('时域展开后声音信号时域波形')
xlabel('时间');
axis([0,max(time),min(x),max(x)]);X=fft(x,fs);%对采样信号做傅里叶分析,X是傅里叶变换
n=length(X);%获取x的点数
df=fs/n;%频域采样间隔
f=(0:1:n-1)*df;%频域采样点
absX=abs(X); angX=angle(X);%求幅度和相位figure(2)
subplot(211)%绘制图像二
plot(f,absX);grid on
title('时域展开后声音信号幅度谱');
xlabel('频率');ylabel('幅度');
axis([0,3500,0,max(absX)]);
subplot(212);
plot(f,angX);grid on
title('时域展开后声音信号相位谱');
xlabel('频率');ylabel('相位');
axis([0,3500,min(angX),max(angX)]);
2、用MATLAB 读入一幅图像,观察其幅频特征和相频特征,并分别设计实现。
clear all
Picture = imread('Einstein.jpeg');
Picture_Gray = rgb2gray(Picture);%灰度处理
Picture_FFT = fft2(Picture_Gray);%傅里叶变换
Picture_FFT_Shift = fftshift(Picture_FFT);%对频谱进行移动,是0频率点在中心
Picture_AM_Spectrum = log(abs(Picture_FFT_Shift));%获得傅里叶变换的幅度谱
Picture_Phase_Specture = log(angle(Picture_FFT_Shift)*180/pi);%获得傅里叶变换的相位谱
Picture_Restructure = ifft2(abs(Picture_FFT).*exp(1j*(angle(Picture_FFT))));%双谱重构
figure(1)
subplot(221)
imshow(Picture_Gray)
title('原图像')
subplot(222)
imshow(Picture_AM_Spectrum,[])%显示图像的幅度谱,参数'[]'是为了将其值线性拉伸
title('图像幅度谱')
subplot(223)
imshow(Picture_Phase_Specture,[]);%显示图像的相位谱
title('图像相位谱')
subplot(224)
imshow(Picture_Restructure,[]);%显示图像的双谱重构图
title('双谱重构图')
(1)仅由图像频谱的幅度谱恢复图像;
clear all
Picture = imread('Einstein.jpeg');
Picture_Gray = rgb2gray(Picture);%灰度处理
Picture_FFT = fft2(Picture_Gray);%傅里叶变换
Picture_FFT_Shift = fftshift(Picture_FFT);%对频谱进行移动,是0频率点在中心
Picture_AM_Spectrum = log(abs(Picture_FFT_Shift));%获得傅里叶变换的幅度谱
Picture_Phase_Specture = log(angle(Picture_FFT_Shift)*180/pi);%获得傅里叶变换的相位谱
Picture_Restructure = ifft2(abs(Picture_FFT));%幅度谱重构
figure(1)
subplot(221)
imshow(Picture_Gray)
title('原图像')
subplot(222)
imshow(Picture_AM_Spectrum,[])%显示图像的幅度谱,参数'[]'是为了将其值线性拉伸
title('图像幅度谱')
subplot(223)
imshow(Picture_Phase_Specture,[]);%显示图像的相位谱
title('图像相位谱')
subplot(224)
imshow(Picture_Restructure,[]);%显示图像的幅度谱重构图
title('幅度谱重构图')
(2)仅由图像频谱的相位谱恢复图像;
clear all
Picture = imread('Einstein.jpeg');
Picture_Gray = rgb2gray(Picture);%灰度处理
Picture_FFT = fft2(Picture_Gray);%傅里叶变换
Picture_FFT_Shift = fftshift(Picture_FFT);%对频谱进行移动,是0频率点在中心
Picture_AM_Spectrum = log(abs(Picture_FFT_Shift));%获得傅里叶变换的幅度谱
Picture_Phase_Specture = log(angle(Picture_FFT_Shift)*180/pi);%获得傅里叶变换的相位谱
Picture_Restructure = ifft2(exp(j*(angle(Picture_FFT))));%相位谱重构
figure(1)
subplot(221)
imshow(Picture_Gray)
title('原图像')
subplot(222)
imshow(Picture_AM_Spectrum,[])%显示图像的幅度谱,参数'[]'是为了将其值线性拉伸
title('图像幅度谱')
subplot(223)
imshow(Picture_Phase_Specture,[]);%显示图像的相位谱
title('图像相位谱')
subplot(224)
imshow(Picture_Restructure,[]);%显示图像的相位谱重构图
title('相位谱重构图')
【实验感悟】
在做对声音信号时域压缩,观察其幅频特性的变换的实验时,matlab产生报错Error: Unanticipated host error,通过查阅百度谷歌等帖子,最后在matlab官方英文社区(how to fix port audio error : unanticipated host error - (mathworks.cn))找到了相应的问题解决方法,这让我感受到了做好实验必须要有扎实的英文基础的意义所在。
其次,通过此次实验我对声音信号的幅频和相频信号有了更加形象的认识,也对信号时域的压缩和扩展有了实验层面的操作,包括时域和频域上取采样间隔,采样点等等,同时对图像的幅频和相频分析也让我对于图像的相位谱和幅度谱有了更深层次的认识与理解。此外,通过此次实验,我也掌握了imshow,rgb2gray,fftshift等函数的用法,为将来的数字图像处理课程打下基础,还有关于音频的读取方式[y,FS]=audioread(filename)的理解:filename就是指要读取的文件的名称,其中y是读出数据,Fs为音频文件的采样率,以及图像的读取方式imread等等。
受于文本原因,本文相关实验资源与样例无法展示出来,现已将资源上传,可自行下载,也可在评论区留言邮箱。
信号与系统实验八样例文件及宏定义函数-图像处理文档类资源-CSDN下载本资源为信号与系统实验八样例文件及宏定义函数,借助该文件可以较好地复现实验。更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/m0_52316372/85906150
信号与系统实验八 音频信号的时域、频域观测分析与图像的幅频相频重构相关推荐
- 2021年春季学期-信号与系统-第八次作业参考答案-第十二小题
本文是 2021年春季学期-信号与系统-第八次作业参考答案 中的小题求解答案. ▌第十二小题 ▌ 12.选做实验题:利用MATLAB生成4800bit/s数传机中发送的模拟信号. 生成50个bit随机 ...
- 2021年春季学期-信号与系统-第八次作业参考答案
▓ 第八次作业各个小题参考答案 2021年春季学期-信号与系统-第八次作业参考答案-第一小题 2021年春季学期-信号与系统-第八次作业参考答案-第二小题 2021年春季学期-信号与系统-第八次作业参 ...
- matlab用lism求零输入响应,信号与系统实验报告
信号与系统实验报告 (14页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 信号与系统实验信号与系统实验一.实验目的一.实验目的1. 通过 ...
- 2021年春季学期-信号与系统-第八次作业参考答案-第七小题
本文是 2021年春季学期-信号与系统-第八次作业参考答案 中的小题求解答案. ▌第七小题 ▌ 7.思考题:系统如下图所示: (1)为从fs(t)f_s \left( t \right)fs(t)无 ...
- 2021年春季学期-信号与系统-第八次作业参考答案-第六小题
本文是 2021年春季学期-信号与系统-第八次作业参考答案 中的小题求解答案. ▌第六小题 ▌ 6. 已知信号x(t)=28cos(48πt)⋅cos(280πt)x\left( t \right ...
- 2021年春季学期-信号与系统-第八次作业参考答案-第五小题
本文是 2021年春季学期-信号与系统-第八次作业参考答案 中的小题求解答案. ▌第五小题 ▌ 5. 已知信号x1(t)x_1 \left( t \right)x1(t),x2(t)x_2 \lef ...
- 2021年春季学期-信号与系统-第八次作业参考答案-第四小题
本文是 2021年春季学期-信号与系统-第八次作业参考答案 中的小题求解答案. ▌第四小题 ▌ 4. 设 f(t)f\left( t \right)f(t) 的奈奎斯特频率是 ω0\omega _0ω ...
- 2021年春季学期-信号与系统-第八次作业参考答案-第三小题
本文是 2021年春季学期-信号与系统-第八次作业参考答案 中的小题求解答案. ▌第三小题 ▌ 3.实现信号调制需要使用乘法器,很多实际系统是通过非线性来实现乘法运算.比如下图所示的调幅系统,则使用输 ...
- 2021年春季学期-信号与系统-第八次作业参考答案-第八小题
本文是 2021年春季学期-信号与系统-第八次作业参考答案 中的小题求解答案. ▌第八小题 ▌ 8. 已知x(t)x\left( t \right)x(t)和X(ω)X\left( \omega \r ...
- 2021年春季学期-信号与系统-第八次作业参考答案-第九小题
本文是 2021年春季学期-信号与系统-第八次作业参考答案 中的小题求解答案. ▌第九小题 ▌ 9. 已知信号的频谱X(ω)X\left( \omega \right)X(ω)如下图所示: (1) 求 ...
最新文章
- MATLAB作二维傅里叶变换所需要注意和知道的东西(im2double、fft2、abs、imshow、二维傅里叶变换的物理意义)
- 一篇文章带你从认识Python装饰器到熟练使用
- Java中数组的地址问题(hashCode解析):
- java document select_javasript 操作option select
- C++的字符串分割函数
- 星海中学2021高考成绩查询,广东中考时间2021
- python-函数的嵌套调用
- 【Elasticsearch】基于 Elasticsearch + kibana 实现 IP 地址分布地图可视化
- linux data目录权限,Linux 文件目录权限
- 熬夜整理出40张可视化大屏模板,不敲一个代码就能直接套用
- 苹果开发者账号可以创建多少测试证书_苹果开发者账号相关问题解答—企业开发者账号...
- Linux 命令(47)—— file 命令
- inode服务器与响应,inode客户端服务器下线请求和
- ab测试工具结果分析
- Junit5 以及与Spring boot整合
- 机器学习:弱监督学习简介
- VS2015安装包损坏或丢失的方法_2022年7月
- 什么是数据库存储过程?
- dma读nand_使用DMA方式读取spi flash问题求助
- 33c3 CTF web WriteUp
热门文章
- 【推荐算法】协同过滤算法介绍
- 安川机器人SOCKET 通讯
- 手柄测试Debug记录
- zedgraph显示最小刻度_关于ZedGraph几个难点
- JDK全部版本高速下载,JDK1.8高速下载,JDK1.9、JDK10、JDK11、JDK12、JDK13、JDK14、JDK15下载
- vue-json-editor高度调整
- discord android .apk,Discord语音交流app
- 基于SSM+SpringBoot+Vue的高校竞赛赛事管理系统
- springboot校园二手交易平台的设计与实现毕业设计源码260839
- 校园二手交易平台小程序《云开发演示》