matlab画信号频谱
为了让大学生活充实一点,多学点东西,我选修了《数字信号处理》。现在充实得不要不要的。
clc
close all
clear%=========参数设置=========%
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sampling period
L = 1500; % Length of signal
t = (0:L-1)*T; % Time vector
S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t); % original signal
X = S + 2*randn(size(t)); % Corrupt the signal with zero-mean white noise with a variance of 4%======画出加噪声的信号======%
figure
plot(1000*t(1:50),X(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('t (milliseconds)')
ylabel('X(t)')%======原始信号双边带频谱=======%
amplitude = abs(fftshift(fft(S, L)))/L; % 计算幅度谱,fftshift是为了交换正负频率谱,fft后紧接着要除信号长度
f = (0:L-1)/L*Fs - Fs/2 ; % 计算频率轴,减Fs/2是为了正确显示0频位置
figure
plot(f, amplitude)
xlabel('频率(Hz)')
ylabel('幅度')
title('原始信号双边带频谱')%======带有噪声的信号双边带频谱=======%
amplitude = abs(fftshift(fft(X, L)))/L;
f = (0:L-1)/L*Fs - Fs/2;
figure
plot(f, amplitude)
xlabel('频率(Hz)')
ylabel('幅度')
title('带有噪声的信号双边带频谱')%======原始信号双边带频谱(补零)=======%
L1 = 2^nextpow2(L); % 计算FFT长度
amplitude = abs(fftshift(fft(S, L1)))/L; % 计算幅度谱,fftshift是为了交换正负频率谱,fft后紧接着要除信号长度
f = (0:L1-1)/L1*Fs - Fs/2 ; % 计算频率轴,长度要用fft的长度而不是信号长度,减Fs/2是为了正确显示0频位置
figure
plot(f, amplitude)
xlabel('频率(Hz)')
ylabel('幅度')
title('原始信号双边带频谱(补零)')%======带有噪声的信号双边带频谱(补零)=======%
L1 = 2^nextpow2(L);
amplitude = abs(fftshift(fft(X, L1)))/L;
f = (0:L1-1)/L1*Fs - Fs/2; % 计算频率轴,最大原信号最大频率不超过采样频率的一半
figure
plot(f, amplitude)
xlabel('频率(Hz)')
ylabel('幅度')
title('带有噪声的信号双边带频谱(补零)')%======加噪声信号单边频谱======%
Y = fft(X);
P2 = abs(Y/L); % 计算幅度谱
P1 = P2(1:L/2+1); % 提取正频率部分,不知道为啥多取一个点
P1(2:end-1) = 2*P1(2:end-1); % 实信号频谱对称
f = Fs*(0:(L/2))/L;
figure
plot(f,P1)
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')%======原始信号单边频谱======%
Y = fft(S);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
figure
plot(f,P1)
title('Single-Sided Amplitude Spectrum of S(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')
matlab画信号频谱相关推荐
- matlab画2fsk频谱,2fsk信号调制解调频谱的matlab仿真
2fsk信号调制解调频谱的matlab仿真 2FSK信号的调制解调与频谱绘制的matlab仿真 a=randint(1,16); t=0.0001:0.001:1; inisig=a(ceil(t./ ...
- 使用matlab画信号的频域图
1.创建函数文件:plot_fft.m 文件内的代码如下 %CK.2022.05.23 %函数名:plot_fft %函数功能:画信号的频域图 %函数输入:X:信号序列:fs:信号频率 %函数输出:X ...
- 频谱扩展 matlab,语音信号频谱扩展
% % pr10_3_1 clear all; clc; close all; filedir=[]; % 设置路径 filename='col ...
- matlab画信号图方法,献给初学者:手把手教你绘制信号通路图
信号通路是指能将细胞外的分子信号经细胞膜传入细胞内发挥效应的一系列酶促反应通路.细胞信号通路图是科研研究过程中最常见也是最常用到的,如何绘制适合我们自己科研课题的信号通路图呢?可以试试 pathway ...
- python画信号频谱(fft)
直接上函数 def plotsig(sig,strname):#fig=plt.figure(figsize=(8, 6))plt.cla()plt.grid(linestyle="--&q ...
- FFT快速傅里叶变换的应用——画单边频谱图matlab
FFT快速傅里叶变换的应用--画单边频谱图matlab 快速傅里叶变换在数字信号处理里用的十分广泛,在matlab仿真中,处理信号的时频域变换十分有效,这里结合两个做过的仿真,来说一说fft的应用:画 ...
- 用matlab画出时域波形,用Matlab画出信号的时域波形与频谱,观察它们的关系。.ppt...
信号与系统课程实践考察 班级: 学号: 姓名: 指导老师: 一 实验题目 试用MATLAB画出它们的时域波形及频谱,观察它们的关系. 二 实验目的 1 正确运用傅立叶变换 2用Matlab编程观察周期 ...
- 用matlab画出信号波形,用Matlab画出信号的时域波形及频谱,观察它们的关系
<用Matlab画出信号的时域波形及频谱,观察它们的关系>由会员分享,可在线阅读,更多相关<用Matlab画出信号的时域波形及频谱,观察它们的关系(18页珍藏版)>请在人人文库 ...
- 2FSK频谱matlab,2FSK信号的频谱分析及解调的实现.doc
<数字信号处理> 课程设计报告 题 目:2FSK信号的频谱分析及解调的实现 专 业: 信息与计算科学 学 号: 组 长: 指导教师: 成 绩: 2010年1月8日 2FSK信号的频谱分析及 ...
最新文章
- rhel iptables只允许限定IP访问某端口、某特定网站
- ASP NET 数据库访问
- oracle时间mapper怎么比较,MyBatis+Oracle时间精度丢失的问题
- 百度时间显示_文章的发布时间对百度优化网站重要吗
- linux组的管理命令,linux 用户和组管理命令(示例代码)
- pytorch 向量转化为one-hot编码
- float和int转换
- 计算机一级考试自测题,计算机一级B考试自测题
- Proteus--软件简介及安装教程
- 计算机硬盘吱吱响,电脑硬盘吱吱响怎么回事
- 摩尔定律与反摩尔定律
- 第三方登录/分享最佳实践
- 微信开发者工具配置连接Gitee
- 分词工具与方法:jieba、spaCy等
- 安科瑞数据中心行业电能质量监测与治理方案-李亚俊
- C++ Primer Plus(嵌入式公开课)---第5,6章 循环和关系表达式 分支语句和逻辑运算符
- 鬼吹灯之龙岭迷窟 4192
- [HAProxy] CentOS7安装HAProxy1.8.17后启动报错“cannot bind UNIX socket [/var/lib/haproxy/stats]”解决
- python3制作捧腹网段子页爬虫
- 方舟编译器HelloWorld
热门文章
- c语言44种运算符,C语言运算符优先级
- 【Leetcode】139. 拆分词句(Word Break)
- 国美金融贷款UDP用户数据长度,国美金融贷款调用sendto对应
- Windows10系统重置指南
- linux使用指定版本JDK运行jar包
- 清华大学计算机陈立杰,陈立杰:婉拒谷歌、获清华特奖,95后登上全球计算机顶尖舞台...
- 大数据:巨型公司用户凭据疯狂外泄,娱乐业与技术圈首当其冲
- 如何借助new bing修复 pyfolio: AttributeError: ‘numpy.int64‘ object has no attribute ‘to_pydatetime‘
- 抽屉原理(又名:鸽笼原理)
- 最大间隙(线性时间算法——鸽笼原理)