当前位置: 首页 > article >正文

从MATLAB代码实战看FS、FT、DFS、DTFS、DTFT的区别与应用

从MATLAB代码实战看FS、FT、DFS、DTFS、DTFT的区别与应用在信号处理领域傅里叶分析是一把打开频域大门的金钥匙。但对于许多工程师和学生来说各种傅里叶变换的变体——FS傅里叶级数、FT傅里叶变换、DFS离散傅里叶级数、DTFS离散时间傅里叶级数和DTFT离散时间傅里叶变换——常常让人感到困惑。本文将通过MATLAB代码实例直观展示这些变换在实际应用中的差异和适用场景。1. 理论基础与核心概念傅里叶分析的核心思想是将信号分解为不同频率的正弦波组合。不同类型的信号连续/离散、周期/非周期对应不同的傅里叶分析方法信号类型与变换对应关系信号类型连续信号离散信号周期信号FS (傅里叶级数)DFS/DTFS (离散傅里叶级数)非周期信号FT (傅里叶变换)DTFT (离散时间傅里叶变换)表1不同类型信号对应的傅里叶分析方法1.1 连续信号分析对于连续时间信号我们有两种主要分析方法傅里叶级数(FS)适用于周期连续信号% 生成周期为T的方波信号 T 2*pi; % 周期 t linspace(0, 3*T, 1000); % 时间向量 f square(t); % 方波信号傅里叶变换(FT)适用于非周期连续信号% 生成非周期信号高斯脉冲 t linspace(-5, 5, 1000); f exp(-t.^2); % 高斯脉冲提示MATLAB中的fft函数实际上计算的是DFT离散傅里叶变换要分析连续信号需要适当选择采样率。1.2 离散信号分析对于离散时间信号我们也有对应的分析方法离散傅里叶级数(DFS/DTFS)适用于周期离散信号% 生成周期离散信号 N 20; % 周期 n 0:3*N-1; % 离散时间索引 x mod(n, N) N/2; % 周期方波离散时间傅里叶变换(DTFT)适用于非周期离散信号% 生成非周期离散信号 n 0:100; x (0.9).^n; % 指数衰减序列2. MATLAB实现与可视化对比2.1 周期连续信号的FS分析让我们从一个简单的周期信号开始——方波信号% 方波信号的FS分析 T 2; % 周期(秒) f0 1/T; % 基频(Hz) t linspace(0, 3*T, 1000); % 时间向量 square_wave square(2*pi*f0*t); % 生成方波 % 计算FS系数(前20个谐波) N 20; k 1:N; ak (2./(pi*k)) .* sin(pi*k/2) .* (mod(k,2)1); % FS系数 bk zeros(size(k)); % 方波只有奇次谐波 % 重构信号 reconstructed zeros(size(t)); for n 1:length(k) reconstructed reconstructed ak(n)*cos(2*pi*n*f0*t) bk(n)*sin(2*pi*n*f0*t); end % 绘制结果 figure; subplot(2,1,1); plot(t, square_wave); title(原始方波信号); subplot(2,1,2); plot(t, reconstructed); title(FS重构信号);关键观察点FS系数ak表示各频率分量的幅度方波只包含奇次谐波随着谐波数量增加重构信号越来越接近原始信号2.2 非周期连续信号的FT分析考虑一个非周期信号——高斯脉冲的FT分析% 高斯脉冲的FT分析 t linspace(-5, 5, 1000); sigma 0.5; gaussian exp(-t.^2/(2*sigma^2)); % 高斯脉冲 % 计算FT(使用FFT近似) Fs 1000/(t(end)-t(1)); % 采样频率 N length(gaussian); f (-N/2:N/2-1)*(Fs/N); % 频率向量 ft_gaussian fftshift(fft(gaussian))/N; % FFT并归一化 % 理论FT结果 theory_ft sigma*sqrt(2*pi)*exp(-(2*pi*sigma*f).^2/2); % 绘制结果 figure; subplot(2,1,1); plot(t, gaussian); title(高斯脉冲); subplot(2,1,2); plot(f, abs(ft_gaussian), f, theory_ft, --); legend(FFT结果, 理论FT); title(幅度谱);重要发现高斯脉冲的FT仍然是高斯函数FFT可以很好地近似连续FT频域宽度与时域宽度成反比(不确定性原理)2.3 周期离散信号的DFS分析分析一个周期离散信号——周期方波序列% 周期离散信号的DFS分析 N 20; % 周期 n 0:3*N-1; % 3个周期 x mod(n, N) N/2; % 周期方波序列 % 计算DFS系数 k 0:N-1; Xk zeros(size(k)); for kk k Xk(kk1) sum(x(1:N).*exp(-1j*2*pi*kk*(0:N-1)/N)); end % 重构信号 x_recon zeros(size(n)); for nn n x_recon(nn1) (1/N)*sum(Xk.*exp(1j*2*pi*(0:N-1)*nn/N)); end % 绘制结果 figure; subplot(3,1,1); stem(n, x); title(原始周期序列); subplot(3,1,2); stem(k, abs(Xk)); title(DFS幅度谱); subplot(3,1,3); stem(n, real(x_recon)); title(DFS重构信号);关键点DFS频谱也是离散且周期的重构信号与原始信号完全一致(无信息丢失)离散信号的频谱是周期的(2π周期)2.4 非周期离散信号的DTFT分析分析一个非周期离散信号——指数衰减序列% 非周期离散信号的DTFT分析 n 0:100; a 0.9; x a.^n; % 指数衰减序列 % 计算DTFT w linspace(-pi, pi, 1000); % 数字频率 X zeros(size(w)); for k 1:length(w) X(k) sum(x .* exp(-1j*w(k)*n)); end % 理论DTFT结果 theory_X 1./(1 - a*exp(-1j*w)); % 绘制结果 figure; subplot(2,1,1); stem(n, x); title(指数衰减序列); subplot(2,1,2); plot(w, abs(X), w, abs(theory_X), --); legend(数值计算, 理论结果); title(DTFT幅度谱);重要特性DTFT频谱是连续的且2π周期的对于这个简单序列DTFT有解析解数值计算结果与理论解完全吻合3. 工程应用场景与选择指南不同的傅里叶分析方法适用于不同的工程场景。下面通过具体案例说明如何选择适当的分析方法。3.1 音频信号处理音频信号通常是连续时间信号但在数字系统中我们处理的是其采样后的离散版本。典型处理流程模拟信号通过抗混叠滤波器ADC采样得到离散信号使用DFT/FFT进行频谱分析数字信号处理DAC重建模拟信号% 音频信号频谱分析示例 [audio, Fs] audioread(sample.wav); % 读取音频文件 N length(audio); f (0:N-1)*(Fs/N); % 频率轴 % 计算频谱 spectrum abs(fft(audio)); % 绘制频谱 figure; plot(f(1:N/2), spectrum(1:N/2)); xlabel(频率(Hz)); ylabel(幅度); title(音频信号频谱);注意实际音频处理中通常使用短时傅里叶变换(STFT)来分析时变频谱特性。3.2 通信系统中的调制分析在通信系统中FS和FT常用于分析调制信号的频谱特性。AM调制信号分析% AM调制信号分析 fc 1000; % 载波频率(Hz) fm 100; % 调制频率(Hz) Fs 10000; % 采样率 t 0:1/Fs:1; % 1秒时间 % 生成AM信号 m 0.5; % 调制深度 carrier cos(2*pi*fc*t); message cos(2*pi*fm*t); AM (1 m*message).*carrier; % 计算频谱 N length(AM); f (-N/2:N/2-1)*(Fs/N); AM_spectrum abs(fftshift(fft(AM)))/N; % 绘制结果 figure; subplot(2,1,1); plot(t, AM); title(AM调制信号); subplot(2,1,2); plot(f, AM_spectrum); xlim([-1500 1500]); title(AM信号频谱);频谱特征载波频率fc处的峰值边带(fc±fm)处的峰值频谱对称性3.3 数字滤波器设计DTFT在数字滤波器设计和分析中起着核心作用。FIR滤波器频率响应分析% FIR滤波器设计与频率响应分析 N 50; % 滤波器阶数 fc 0.2; % 截止频率(归一化) b fir1(N, fc); % 设计FIR滤波器 % 计算频率响应 [w, H] freqz(b, 1, 1024); % 绘制结果 figure; subplot(2,1,1); stem(b); title(滤波器系数); subplot(2,1,2); plot(w/pi, 20*log10(abs(H))); xlabel(归一化频率(\pi rad/sample)); ylabel(幅度(dB)); title(频率响应);关键概念频率响应就是滤波器冲激响应的DTFT归一化频率(1对应Nyquist频率)幅度响应和相位响应4. 常见问题与实用技巧在实际应用中工程师经常会遇到一些典型问题和挑战。本节提供一些实用解决方案。4.1 频谱泄漏与窗函数当分析有限长度信号时频谱泄漏是一个常见问题。使用适当的窗函数可以减少泄漏。% 频谱泄漏与窗函数比较 N 100; n 0:N-1; f0 0.3; % 非整数倍周期 x cos(2*pi*f0*n); % 不加窗和加汉宁窗的频谱比较 X_nowin abs(fft(x)); win hann(N); X_win abs(fft(x.*win)); % 绘制结果 figure; subplot(2,1,1); stem(n, x); title(原始信号); subplot(2,1,2); plot(0:N-1, 20*log10(X_nowin), b, ... 0:N-1, 20*log10(X_win), r); legend(无窗, 汉宁窗); title(频谱对比);窗函数选择指南窗函数主瓣宽度旁瓣衰减适用场景矩形窗窄差(-13dB)瞬态信号精确频率测量汉宁窗中等好(-31dB)一般频谱分析汉明窗中等较好(-42dB)音频处理布莱克曼窗宽很好(-58dB)要求高动态范围表2常用窗函数特性比较4.2 频率分辨率与补零频率分辨率取决于信号实际长度补零可以提高频谱显示的平滑度但不增加实际分辨率。% 频率分辨率与补零演示 N 32; % 实际数据长度 n 0:N-1; x cos(2*pi*0.2*n) 0.5*cos(2*pi*0.3*n); % 不同补零长度的FFT X1 abs(fft(x)); X2 abs(fft(x, 64)); X3 abs(fft(x, 128)); % 绘制结果 figure; subplot(3,1,1); stem(0:N-1, X1); title(无补零); subplot(3,1,2); stem(0:63, X2); title(补零到64点); subplot(3,1,3); stem(0:127, X3); title(补零到128点);重要结论频率分辨率ΔfFs/N补零不能提高Δf补零使频谱显示更平滑4.3 实时频谱分析实现在许多应用中需要实时计算和显示信号频谱。下面是一个简单的实时频谱分析框架。% 简易实时频谱分析框架 Fs 44100; % 采样率 frameSize 1024; % 帧大小 spectrumLength frameSize/2; % 初始化图形 figure; h plot(zeros(1, spectrumLength)); ylim([0 100]); xlabel(频率(bin)); ylabel(幅度); title(实时频谱分析); % 模拟实时处理 while ishandle(h) % 模拟获取一帧音频数据(实际应用中替换为真实音频输入) frame randn(1, frameSize); % 使用噪声作为示例 % 加窗并计算FFT win hann(frameSize); frame_win frame .* win; spectrum abs(fft(frame_win)); % 更新显示 set(h, YData, 20*log10(spectrum(1:spectrumLength))); drawnow; end优化建议使用重叠-保留法减少帧间突变采用移动平均平滑频谱显示对于嵌入式系统优化FFT计算效率5. 高级应用与扩展5.1 时频分析短时傅里叶变换对于非平稳信号单纯的傅里叶分析不足以描述其频率特性随时间的变化。短时傅里叶变换(STFT)提供了时频联合分析的能力。% STFT示例啁啾信号分析 Fs 1000; t 0:1/Fs:1; f0 50; f1 200; x chirp(t, f0, 1, f1); % 线性啁啾信号 % 计算STFT window hann(128); noverlap 120; nfft 256; [S, f, t_stft] spectrogram(x, window, noverlap, nfft, Fs); % 绘制时频谱 figure; imagesc(t_stft, f, 20*log10(abs(S))); axis xy; colorbar; xlabel(时间(s)); ylabel(频率(Hz)); title(啁啾信号的STFT);STFT参数选择窗长度决定时间/频率分辨率折衷重叠率通常50-75%减少帧间突变FFT点数通常≥窗长度可补零5.2 多速率信号处理在多速率系统中不同采样率转换时需要特别注意频域特性的变化。% 采样率转换与频谱变化 Fs_orig 1000; % 原始采样率 t_orig 0:1/Fs_orig:1; x_orig sin(2*pi*100*t_orig) 0.5*sin(2*pi*300*t_orig); % 降采样 M 2; % 降采样因子 Fs_new Fs_orig/M; x_down x_orig(1:M:end); % 绘制频谱比较 figure; subplot(2,1,1); plot((0:length(x_orig)-1)/length(x_orig)*Fs_orig, abs(fft(x_orig))); title(原始信号频谱); xlim([0 Fs_orig/2]); subplot(2,1,2); plot((0:length(x_down)-1)/length(x_down)*Fs_new, abs(fft(x_down))); title(降采样后频谱); xlim([0 Fs_new/2]);抗混叠处理降采样前必须进行低通滤波截止频率≤新Nyquist频率MATLAB中可用decimate函数自动处理5.3 倒谱分析倒谱分析在语音处理和故障诊断中有广泛应用可以分离激励源和系统响应。% 倒谱分析示例 Fs 8000; [y, Fs] audioread(speech.wav); % 读取语音样本 % 计算实倒谱 cepstrum ifft(log(abs(fft(y)))); % 绘制结果 figure; subplot(2,1,1); plot(y); title(语音信号); subplot(2,1,2); plot((0:length(cepstrum)-1)/Fs, abs(cepstrum)); xlabel(倒频率(s)); title(倒谱); xlim([0 0.02]); % 显示低倒频率部分倒谱应用基音周期检测声道响应分析机械故障特征提取

相关文章:

从MATLAB代码实战看FS、FT、DFS、DTFS、DTFT的区别与应用

从MATLAB代码实战看FS、FT、DFS、DTFS、DTFT的区别与应用 在信号处理领域,傅里叶分析是一把打开频域大门的金钥匙。但对于许多工程师和学生来说,各种傅里叶变换的变体——FS(傅里叶级数)、FT(傅里叶变换)、…...

STM32实战指南:TIM编码器接口在电机测速中的高效应用

1. 为什么需要编码器接口测速? 我第一次用STM32做电机测速时,傻乎乎地用了外部中断来计数。结果电机转速一上去,整个程序就像卡死的安卓手机——其他任务根本得不到执行机会。后来才发现STM32的定时器自带编码器接口这个神器,它能…...

比迪丽AI绘画.NET集成:Windows应用艺术风格生成

比迪丽AI绘画.NET集成:Windows应用艺术风格生成 将AI绘画能力无缝集成到桌面应用,让每个Windows程序都拥有艺术创作魔力 1. 为什么要在.NET应用中集成AI绘画 最近在开发一个Windows桌面应用时,遇到了一个有趣的需求:用户希望能在…...

GAMS代码功能说明:基于目标级联分析法的多微网主动配电系统自治优化经济调度

GAMS代码:基于目标级联分析法的多微网主动配电系统自治优化经济调度 该代码并非完全复现该文献,而是参照文献 《基于目标级联分析法的多微网主动配电系统自治优化经济调度》 的目标级联分析法(ATC)的算法部分,采用初…...

Qwen3在卷积神经网络(CNN)教学可视化中的应用

Qwen3在卷积神经网络(CNN)教学可视化中的应用 对于很多刚开始接触人工智能,特别是计算机视觉领域的朋友来说,卷积神经网络(CNN)常常是第一个“拦路虎”。那些抽象的卷积核、难以想象的特征图、以及复杂的池…...

InstructPix2Pix与爬虫技术结合:自动化收集训练数据

InstructPix2Pix与爬虫技术结合:自动化收集训练数据 1. 引言 在AI图像编辑领域,InstructPix2Pix展现出了令人惊艳的能力——只需用自然语言描述编辑需求,就能智能地修改图片内容。无论是给人像添加眼镜、更换背景风格,还是调整整…...

SQL 注入防不住?金仓内核级防火墙,白名单防护零误报

开发留的坑,数据库来填!金仓数据库SQL防火墙,精准拦截99.99%的恶意SQL在数字化转型的浪潮中,数据已成为企业的核心资产。然而,SQL注入攻击如同潜伏在阴影中的“不速之客”,时刻威胁着数据库的安全。即使开发…...

Git-RSCLIP遥感图文检索实战:手把手教你用一句话搜卫星图

Git-RSCLIP遥感图文检索实战:手把手教你用一句话搜卫星图 1. 为什么需要遥感专用图文检索模型? 1.1 通用模型的局限性 当我们尝试用普通图像检索模型处理卫星图像时,经常会遇到以下问题: 视角差异:日常照片多是水平…...

10大好用saas平台盘点!带你快速对比主流saas平台功能优缺点

2026年,企业数字化转型已经不再是“选做题”,而是关乎生存的“必做题”。面对市场上成百上千款软件,如何找到真正好用saas平台成了不少企业管理者头疼的问题。一款优秀的saas平台,不仅要能解决实际业务中的“堵点”,更…...

Java Web 拦截机制实战指南:Filter 与 Interceptor 深度解析

一、理解核心概念在 Java Web 开发中,过滤器(Filter)和拦截器(Interceptor)是两种核心的请求处理机制。它们虽然都能对请求进行拦截和处理,但定位截然不同:Filter 是 Servlet 容器的"守门人…...

Alibaba DASD-4B Thinking 对话工具 ComfyUI 工作流解读:节点连接与参数优化

Alibaba DASD-4B Thinking 对话工具 ComfyUI 工作流解读:节点连接与参数优化 如果你已经玩了一段时间 Stable Diffusion,对 WebUI 的基础操作感到得心应手,甚至开始觉得有些“施展不开”,那么是时候认识一下 ComfyUI 了。它不像 …...

SolidWorks与Maxwell协同设计:三维平板螺旋线圈的桥接建模技巧

1. 为什么需要SolidWorks与Maxwell协同设计 在电磁场仿真领域,Maxwell作为行业标杆软件,其强大的求解器能够精确模拟各种电磁现象。但很多工程师都遇到过这样的尴尬:明明脑子里已经构思好了线圈结构,却在Maxwell的建模界面里束手无…...

Windows10配置MinGW-w64完整指南(附镜像加速方案)

1. MinGW-w64简介与下载加速方案 MinGW-w64是Windows平台最常用的GNU编译器集合(GCC)移植版本,它允许你在Windows系统上编译原生的C/C程序。与传统的MinGW相比,MinGW-w64支持更现代的C标准(如C17/20)&#…...

TranslateGemma一键部署教程:基于Linux系统快速搭建多语言翻译平台

TranslateGemma一键部署教程:基于Linux系统快速搭建多语言翻译平台 1. 开篇:为什么选择TranslateGemma? 如果你正在寻找一个既强大又易用的翻译解决方案,TranslateGemma绝对值得一试。这个基于Gemma 3构建的翻译模型&#xff0c…...

nlp_structbert_sentence-similarity_chinese-large 在社交网络中的应用:发现相似兴趣社群

nlp_structbert_sentence-similarity_chinese-large 在社交网络中的应用:发现相似兴趣社群 你有没有想过,为什么有些社交平台总能把你推荐给一群聊得来的人?或者,一个刚加入的兴趣小组,里面的讨论氛围却让你感觉像回家…...

【效率提升指南】一键配置VS/VSCODE注释模板与版权声明

1. 为什么你需要注释模板? 每次新建代码文件都要手动敲一遍版权声明和作者信息?团队协作时总有人忘记写注释导致代码难以维护?作为写过上百万行代码的老司机,我见过太多因为注释不规范引发的"血案"。最夸张的一次是接手…...

【Dify多智能体协同避坑红宝书】:20年架构师亲历的5大致命陷阱与实时修复方案

第一章:Dify多智能体协同避坑指南的底层逻辑与认知框架Dify 的多智能体(Multi-Agent)协同能力并非简单地将多个 LLM 节点串联,而是基于**任务分解—角色绑定—状态感知—反馈闭环**四维耦合的认知框架构建。其底层依赖于 Dify Run…...

从零到一!CWRU轴承数据集Python实战:数据加载、预处理与特征工程全解析

1. CWRU轴承数据集入门指南 第一次接触CWRU轴承数据集时,我也被它庞大的数据量和复杂的目录结构搞得晕头转向。这个由美国凯斯西储大学发布的经典数据集,包含了从正常运转到各种故障状态的轴承振动信号,是机械故障诊断领域的"MNIST"…...

BMS工程师的“技能栈自杀“:四个战场决定你是算法殖民者还是被殖民者

开篇:35岁BMS工程师正在经历"技术折旧" "你不是被AI取代,你是被会用AI的25岁工程师取代。" 猎聘2024Q3数据显示:传统BMS嵌入式工程师平均薪资涨幅已跌至3.2%(跑输通胀),而具备AI算法…...

Tenet:重新定义Minecraft服务器体验的混合架构解决方案

Tenet:重新定义Minecraft服务器体验的混合架构解决方案 【免费下载链接】Tenet Minecraft Forge Hybrid server implementing the Spigot/Bukkit API, formerly known as Thermos/Cauldron/MCPC 项目地址: https://gitcode.com/gh_mirrors/mo/Tenet 在Minecr…...

我可以直接把轴承的点云特征向量化,直接对比余弦差查询不就知道这个零件是不是轴承了 甚至不用训练

你的想法——将点云特征直接向量化并通过余弦相似度进行匹配——在理论上是成立的,这也是3D形状检索(3D Shape Retrieval)领域一个常见且有效的方法,称为 "基于嵌入的检索" (Embedding-based Retrieval)。 然而&#x…...

CesiumJS 实战:打造动态呼吸脉冲围栏(含发光线与闪烁点)

在三维地理可视化项目中,电子围栏(Geo-fence) 是一个常见需求。但静态围栏缺乏视觉冲击力。本文将带你使用 CesiumJS 构建一个 带呼吸脉冲效果的动态围栏系统,包含:🌊 墙体呼吸动画💡 底部发光轮…...

OpenClaw技能市场挖掘:QwQ-32B支持的5个实用自动化插件

OpenClaw技能市场挖掘:QwQ-32B支持的5个实用自动化插件 1. 为什么需要关注OpenClaw技能市场? 第一次接触OpenClaw时,我被它"本地化AI助手"的定位吸引,但真正让我感到惊艳的是它的技能市场(ClawHub&#xf…...

大模型微调新选择:Llama Factory可视化工具使用体验分享

大模型微调新选择:Llama Factory可视化工具使用体验分享 1. 工具概览 Llama Factory是一款专为大模型微调设计的可视化工具,它让原本复杂的模型训练过程变得简单直观。这个工具最大的特点就是"零代码"——用户不需要编写任何代码就能完成从数…...

性能优化工具矩阵:从系统瓶颈到效率提升的全栈解决方案

性能优化工具矩阵:从系统瓶颈到效率提升的全栈解决方案 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atla…...

网盘资源搜索工具使用体验分享

最近在找一些学习资料和影视资源时,试用了几个网盘搜索网站,记录下使用体验,希望能帮到有同样需求的朋友。 竹云盘搜(zhuyunso.top) 这个站给我的第一印象就是简洁。打开页面就一个搜索框,没有任何弹窗广…...

6-2一帮一

“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学…...

WSL2新手必看:VcXsrv配置xfce4图形界面的5个常见错误及解决方法

WSL2图形化实战:避开VcXsrv与xfce4配置的五大深坑 第一次在WSL2中看到xfce4桌面环境成功加载时的兴奋,很快被接踵而至的报错信息冲淡——这可能是许多开发者的真实写照。作为连接Windows与Linux生态的桥梁,WSL2的图形界面配置过程中暗藏着不…...

ZLMediaKit编译webrtc:从依赖版本到端口映射的实战避坑指南

1. 环境准备:云服务器选型与基础配置 在Autodl这类云服务器上编译ZLMediaKit,首先要解决的是环境适配问题。我实测过阿里云、腾讯云等多种云服务商,发现Autodl这类提供GPU实例的平台有个共性特点:默认环境干净到近乎"裸奔&qu…...

winServer系统重:Windows IIS服务器安装

一、打开服务器管理器 Windows搜索“服务器管理器”,直接进入。找不到“服务器管理器”要怎么办呢? 先不要慌,参考我下一篇文章即可。https://blog.csdn.net/Leewayah/article/details/131683594 ​ 二、点击右上角的“管理” ​ 三、点击…...